|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre confirmé
![]() ![]() Inscription : décembre 2006 Messages : 307 ![]() |
Bonjour,
Je travaille sur un projet sur lequel j'utilise les interfaces PHP (par un GUI, ça : http://php.net/manual/fr/language.oop5.interfaces.php Cela me permet de rendre obligatoire les méthodes indispensables au fonctionnement du script quand on développe les classes qui en découlent. Je voudrais faire la même chose pour une variable (tableau ou objet peut importe, je m'adapterai). Par exemple, il faudrait que je définisse un tableau du type : $voiture['moteur'] = XXXX (obligatoire) $voiture['pannes'] = YYYY (facultatif) Et que PHP lève une exception si la structure n'est pas respectée. Il me semble que PHP ne permet pas de faire cela. Avez vous une solution ? Merci.
__________________
Prestataires, inscrivez vous dans l'annuaire e-commerce des prestataires - foe.hn : un raccourcisseur d'url fun, avec API |
|
00
|
|
|
#2 | ||
|
Expert Confirmé
![]() ![]() |
Bonjour,
il est impossible de contrôler la structure d'une variable de la même façon que le font les interfaces avec une classe. Par contre tu peux très bien valider toi-même la structure de ta variable ainsi : Code :
__________________
# Dans la Création, tout est permis mais tout n'est pas utile... |
||
|
00
|
|
|
#3 |
|
Membre confirmé
![]() ![]() Inscription : décembre 2006 Messages : 307 ![]() |
Merci pour l'astuce
__________________
Prestataires, inscrivez vous dans l'annuaire e-commerce des prestataires - foe.hn : un raccourcisseur d'url fun, avec API |
|
00
|
|
|
#4 | ||
|
Expert Confirmé
![]() Olivier Développeur Web Inscription : août 2003 Messages : 1 837 ![]() |
Tu ne peux effectivement pas ajouter de variable membre dans une interface.
Par contre plutôt qu'utiliser un tableau tu peux forcer l'utilisation d'un type perso (une classe) qui dérivera d'une classe qui implémente déjà toute la bonne structure. Ca permet d'avoir un type propre , bien structuré mais qui laisse la place à une évolution grâce à l'héritage : Code :
|
||
|
00
|
Copyright © 2000-2012 - www.developpez.com