Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Bonsoir, j'aimerais poser sur ces 3 lignes, j'en utilise que 2 sur 3 sans comprendre comment cela fonctionne
public function __construct() // ça je connais, c'est le constructeur pas défaut PHP, d' ailleur je vois pas beaucoup utiliser avec Zend public function _init() // j'en ai vu dans le boostrap, est-ce une methode magiques ? public init() // j'en ai vu partout dans toutes classes
peut t'on dire que ces 2 dernières ligne sont des constructeurs ??
pouquoi ne pas utiliser tous simplement que les constructeurs ?
_init() s'utilise seulement dans le boostrape ?? j'ai fait un test
public function _initnimportequoi() { echo "c'est n'importe quoi";//affiche bien ce message }
merci d'avance de m'éclairer sur ces initialisations ?
Dernière modification par keokaz (16-09-2011 19:51:43)
Hors ligne
Bonjour,
D'abord __construct c'est le constructeur. Les init ou _init, c'est une convention du ZF.
Les fonctions _initToto() sont effectivement dans le bootstrap et servent à initialiser des choses. Tu peux aller voir la doc à l'adresse
http://framework.zend.com/manual/en/zen … ce-methods
les fonctions init() que tu vois dans les contrôleurs sont appelées avant que l'action ne soit appelée. Ca te permet d'initialiser des choses qui peuvent t'être utiles dans toutes les actions de ton contrôleur.
A+, Philippe
Hors ligne
Pour préciser les choses, tu trouveras assez souvent la méthode init() dans les composants ZF ayant pour but d'être spécialisés par les développeurs (ex: Controller, plugin, ...).
Cette méthode est appelée par le constructeur et est souvent vide de base.
Elle à pour but de permettre aux développeurs d'étendre le comportement de la construction du composant sans avoir à redéfinir directement le constructeur.
Cela permet de ne pas toucher au constructeur parfois complexe de la classe parente sans pour autant limiter les possibilités des développeurs.
Pour les méthodes _init<FuncName>(), elles font parti du mécanisme d'initialisation du Bootstrap.
Toute fonction préfixée par "_init" sera appelée automatiquement lors de l'initialisation de l'application.
Voilà !
Hors ligne
merci de ces précisions
Hors ligne