Précédent   Forum des professionnels en informatique > PHP > Outils > Zend > Zend Framework
Zend Framework Forum d'entraide sur la programmation PHP avec Zend Framework. Avant de poster -> FAQ ZF, Cours ZF
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 12/07/2011, 22h38   #1
En attente de confirmation mail
 
Inscription : juillet 2009
Messages : 28
Détails du profil
Informations forums :
Inscription : juillet 2009
Messages : 28
Points : 15
Points : 15
Par défaut Autoloader : Ne parvient pas a inclure les bon fichier?

Bonjour!

Je viens demander un coup de main, car j'ai actuellement un petit problème en ce qui concerne l'autoload de Zend... J'ai dans mon Bootstrap.php
Code :
1
2
3
4
5
6
7
8
  protected function _initAutoload()
  {
    $autoloader = new Zend_Application_Module_Autoloader(array(
      'namespace' => 'Default_',
      'basePath' => dirname(__FILE__),
    ));
    return $autoloader;
  }
Du coups je ne comprends pas pourquoi quand je veux appeler la classe Default_Validator_Login il me sort une erreur Fatal error: Class 'Default_Validator_Login' not found in /home/web/.ok./zend/application/forms/User/Register.php on line 16 ... le namespace default est bien pris en conte car j'appelle Default_Validator_Login depuis Default_Form_User_Register ...

Un peut d'aide n'est pas de refus.
D'avance, Merci

ps : ls -l dans application :
Code :
1
2
3
4
drwxr-xr-x 2 web www-data 4096 12 juil. 22:22 validator
lrwxrwxrwx 1 web www-data    9 12 juil. 22:25 Validator -> validator
lrwxrwxrwx 1 web www-data    9 12 juil. 22:25 validators -> validator
lrwxrwxrwx 1 web www-data    9 12 juil. 22:25 Validators -> validator
et un tree :
Code :
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
33
34
35
36
37
38
39
+-- Bootstrap.php
+-- configs
¦** +-- application.ini
+-- controllers
¦** +-- ErrorController.php
¦** +-- IndexController.php
¦** +-- LangController.php
¦** +-- UserController.php
+-- forms
¦** +-- Decorators.php
¦** +-- User
¦**     +-- Register.php
+-- lang
¦** +-- translation.tmx.xml
+-- layouts
¦** +-- scripts
¦**     +-- layout.phtml
+-- models
¦** +-- DBTable
¦** ¦** +-- Users.php
¦** +-- ParentMapper.php
¦** +-- ParentModel.php
¦** +-- UsersMapper.php
¦** +-- Users.php
+-- validator
¦** +-- Login.php
+-- Validator -> validator
+-- validators -> validator
+-- Validators -> validator
+-- views
    +-- helpers
    +-- scripts
        +-- error
        ¦** +-- error.phtml
        +-- index
        ¦** +-- index.phtml
        +-- user
            +-- register.phtml
            +-- registred.phtml
IgiXphp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/07/2011, 10h32   #2
Membre confirmé
 
Avatar de Nighty
 
Homme Lucas CORBEAUX
Chef de projet MOE
Inscription : février 2003
Messages : 158
Détails du profil
Informations personnelles :
Nom : Homme Lucas CORBEAUX
Âge : 28
Localisation : France, Maine et Loire (Pays de la Loire)

Informations professionnelles :
Activité : Chef de projet MOE

Informations forums :
Inscription : février 2003
Messages : 158
Points : 291
Points : 291
Bonjour,

Je pense que le problème vient du fait que tu fais appel à une ressource qui n'est pas définie par le Module Autoloader.

Si tu veux une liste des éléments prédéfinis par ce loader, il suffit de regarder le source de la classe /Zend/Application/Module/Autoloader.php :

Code :
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
33
34
        $this->addResourceTypes(array(
            'dbtable' => array(
                'namespace' => 'Model_DbTable',
                'path'      => 'models/DbTable',
            ),
            'mappers' => array(
                'namespace' => 'Model_Mapper',
                'path'      => 'models/mappers',
            ),
            'form'    => array(
                'namespace' => 'Form',
                'path'      => 'forms',
            ),
            'model'   => array(
                'namespace' => 'Model',
                'path'      => 'models',
            ),
            'plugin'  => array(
                'namespace' => 'Plugin',
                'path'      => 'plugins',
            ),
            'service' => array(
                'namespace' => 'Service',
                'path'      => 'services',
            ),
            'viewhelper' => array(
                'namespace' => 'View_Helper',
                'path'      => 'views/helpers',
            ),
            'viewfilter' => array(
                'namespace' => 'View_Filter',
                'path'      => 'views/filters',
            ),
        ));
C'est un excellent reminder quand on ne sait plus trop comment sont "mappés" les chemins. Comme tu le constate, forms est déclaré, mais pas validator.

Rajoute ceci dans ton bootstrap::_initAutoload() avant le return et ça devrait suffire :
Code :
$autoloader->addResourceType('validator', 'validator', 'Validator');
Par contre c'est normal que tu ais autant de liens de ton dossier validator ? J'imagine que c'était pour des tests, mais je serais toi je ne garderais que le dossier original histoire d'être sûr de bien maîtriser comment sont chargées les classes.
Nighty est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 06h42.


 
 
 
 
Partenaires

Hébergement Web