Bonjour,
Voila plusieurs heures que je fouille le net , les forums , mais je ne trouve pas de réponse à ma question :
Mes fichiers :
Autoload du Bootstrap.php :
Création d'une classe perso (comparaison de mot de passes) dans library/Validate/Password.php :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 protected function _initAutoload() { $moduleLoader = new Zend_Application_Module_Autoloader(array( 'namespace' => '', 'basePath' => APPLICATION_PATH)); return $moduleLoader; }
Quand j'essaye d'instancier ma classe de mon formulaire dans application/forms/User.php :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32 require_once 'Zend/Validate/Abstract.php'; class Zend_Validate_Password extends Zend_Validate_Abstract { const PASSWORD_MISMATCH = 'passwordMismatch'; protected $_compare; public function __construct($compare) { $this->_compare = $compare; } protected $_messageTemplates = array( self::PASSWORD_MISMATCH => "Password doesn't match confirmation" ); public function isValid($value) { $this->_setValue((string) $value); if ($value !== $this->_compare) { $this->_error(self::PASSWORD_MISMATCH); return false; } return true; } }
J'ai cette erreur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 new Zend_Validate_Password('test');
Comme si l'autoload n'arrivais pas à charger cette classe et qu'il ne la trouvais pas ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 Warning: include_once(Zend\Validate\Password.php) [function.include-once]: failed to open stream: No such file or directory in F:\Zend\Install\ZendServer\share\ZendFramework\library\Zend\Loader.php on line 146 Warning: include_once() [function.include]: Failed opening 'Zend\Validate\Password.php' for inclusion (include_path='F:\Zend\projects\search-events\application/../library;F:\Zend\projects\search-events\library;.;F:\Zend\Install\ZendServer\share\ZendFramework\library') in F:\Zend\Install\ZendServer\share\ZendFramework\library\Zend\Loader.php on line 146 Fatal error: Class 'Zend_Validate_Password' not found in F:\Zend\projects\search-events\application\forms\Users.php on line 73
Est ce que ça peut venir du fait qu'il ai un l'espace nom "Zend" réservé pour la librairie Zend uniquement auquel cas je devrait peut être changer le nom de ma classe et ajouter cette espace nom à mon Autoloader ? Comment ceci s'exprime t'il synthaxiquement dans l'autoloader ?
En tout cas une nuance m'échappe merci de m'éclairer là dessus.
Partager