Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Bonjour à tous,
En train d'apprendre à utiliser le ZF (1.9.3 sous la main), je m'appuie sur un ouvrage APRESS.
Pour réaliser ses propres formulaires dans le détail il est expliqué l'usage de Zend_Form_Element_Text, notamment la description d'un élément dans \application\models\form\Elements.php.
//Create Text Field Object.
$emailElement = new Zend_Form_Element_Text( 'email' );
$emailElement->setLabel( 'Adresse e-mail :' );
$emailElement->setRequired( true );
//Add Validator
$emailElement->addValidator( new Zend_Validate_EmailAddress() );
//Add Filter
$emailElement->addFilter( new Zend_Filter_HtmlEntities() );
$emailElement->addFilter( new Zend_Filter_StripTags() );
return $emailElement;Mon souci :
Il m'est proposé dans un controller donné (\application\controllers\AccountController.php) de faire un require à partir du controller :
require 'form/Elements.php'
Pourquoi Zend regarde-t-il dans le sous dossier models et non pas controllers ?
(je sais pas si j'ai été très clair.... )
Merci par avance pour votre aide ![]()
Dernière modification par lesdoudous (24-10-2009 10:17:48)
Hors ligne
C'est quoi ce bouquin ???
Pas besoin de faire de require, l'autoloader s'en charge.
Hors ligne
Par exemple, j'ai créé les choses ainsi :
/controllers
/AccountController.php
/models
/db
Db.php
Bizarrement, pour appeler ma classe Db de mon controleur "AccountController", je dois faire un require_once "Db/Db.php";.
Comment Zend sait ou il doit trouver ca ?
A priori, il devrait regarder dans /controllers, et pourtant il trouve ca dans /models, non ? ![]()
Enfin, pour le bouquin, quoi te dire ?
Un ouvrage bien réalisé sur Zend pour débuter. Très didactique !
Hors ligne
Comment il sait ou trouver ca ? C'est assez complex en fait..
Il vaudrait mieux que tu lises le quickstart et/ou la doc sur Zend_Loader{_Autoloader}
En gros, il sait ou les trouver grâce à 2 méthodes :
- via include_path : Il remplace les _ par des /et le moteur PHP fait le boulot (via require)
- via le point précédant + les namespaces : il a un tableau de "préfix" => chemin. Avec ca, il sait comment construire la base du chemin, et combine le reste avec le point précédant.
Hors ligne
Merci ![]()
J'ai trouvé une réponse précise en faisant un simple "echo get_include_path();" dans lequel je me suis apercu qu'il y a ceci : "C:\Program Files\Zend\Apache2\htdocs\helloworld\application\models".
CQFD !
Hors ligne