IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 PHP Discussion :

Class 'I18N' not found


Sujet :

PHP

  1. #1
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    155
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 155
    Par défaut Class 'I18N' not found
    Bonjour,

    j'essaie d'implémenter les fonctionnalités d'internationalisation décrite dans Jobeet, mais dès la génération du modèle etc à l'aide de :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    php symfony doctrine:build --all --and-load
    j'obtiens l'erreur suivante :
    >> autoload Resetting application autoloaders
    >> file- /home/benoit/sfprojects/lafeniere/cache/backend/dev/config/config_autoload.yml.php
    >> doctrine generating form classes
    PHP Fatal error: Class 'I18N' not found in /home/benoit/sfprojects/lafeniere/lib/model/doctrine/base/BaseDish.class.php on line 56
    PHP Stack trace:
    PHP 1. {main}() /home/benoit/sfprojects/lafeniere/symfony:0
    PHP 2. include() /home/benoit/sfprojects/lafeniere/symfony:14
    PHP 3. sfSymfonyCommandApplication->run() /home/benoit/sfprojects/lafeniere/lib/vendor/symfony/lib/command/cli.php:20
    PHP 4. sfTask->runFromCLI() /home/benoit/sfprojects/lafeniere/lib/vendor/symfony/lib/command/sfSymfonyCommandApplication.class.php:76
    PHP 5. sfBaseTask->doRun() /home/benoit/sfprojects/lafeniere/lib/vendor/symfony/lib/task/sfTask.class.php:97
    PHP 6. sfDoctrineBuildTask->execute() /home/benoit/sfprojects/lafeniere/lib/vendor/symfony/lib/task/sfBaseTask.class.php:68
    PHP 7. sfTask->run() /home/benoit/sfprojects/lafeniere/lib/vendor/symfony/lib/plugins/sfDoctrinePlugin/lib/task/sfDoctrineBuildTask.class.php:169
    PHP 8. sfBaseTask->doRun() /home/benoit/sfprojects/lafeniere/lib/vendor/symfony/lib/task/sfTask.class.php:173
    PHP 9. sfDoctrineBuildFormsTask->execute() /home/benoit/sfprojects/lafeniere/lib/vendor/symfony/lib/task/sfBaseTask.class.php:68
    PHP 10. sfGeneratorManager->generate() /home/benoit/sfprojects/lafeniere/lib/vendor/symfony/lib/plugins/sfDoctrinePlugin/lib/task/sfDoctrineBuildFormsTask.class.php:64
    PHP 11. sfDoctrineFormGenerator->generate() /home/benoit/sfprojects/lafeniere/lib/vendor/symfony/lib/generator/sfGeneratorManager.class.php:113
    PHP 12. sfDoctrineFormGenerator->loadModels() /home/benoit/sfprojects/lafeniere/lib/vendor/symfony/lib/plugins/sfDoctrinePlugin/lib/generator/sfDoctrineFormGenerator.class.php:73
    PHP 13. Doctrine_Core::initializeModels() /home/benoit/sfprojects/lafeniere/lib/vendor/symfony/lib/plugins/sfDoctrinePlugin/lib/generator/sfDoctrineFormGenerator.class.php:604
    PHP 14. Doctrine_Core::getTable() /home/benoit/sfprojects/lafeniere/lib/vendor/symfony/lib/plugins/sfDoctrinePlugin/lib/vendor/doctrine/Doctrine/Core.php:743
    PHP 15. Doctrine_Connection->getTable() /home/benoit/sfprojects/lafeniere/lib/vendor/symfony/lib/plugins/sfDoctrinePlugin/lib/vendor/doctrine/Doctrine/Core.php:1090
    PHP 16. Doctrine_Table->__construct() /home/benoit/sfprojects/lafeniere/lib/vendor/symfony/lib/plugins/sfDoctrinePlugin/lib/vendor/doctrine/Doctrine/Connection.php:1123
    PHP 17. BaseDish->setUp() /home/benoit/sfprojects/lafeniere/lib/vendor/symfony/lib/plugins/sfDoctrinePlugin/lib/vendor/doctrine/Doctrine/Table.php:260

    Fatal error: Class 'I18N' not found in /home/benoit/sfprojects/lafeniere/lib/model/doctrine/base/BaseDish.class.php on line 56

    Call Stack:
    0.0002 324924 1. {main}() /home/benoit/sfprojects/lafeniere/symfony:0
    0.0031 584908 2. include('/home/benoit/sfprojects/lafeniere/lib/vendor/symfony/lib/command/cli.php') /home/benoit/sfprojects/lafeniere/symfony:14
    0.1290 6769740 3. sfSymfonyCommandApplication->run() /home/benoit/sfprojects/lafeniere/lib/vendor/symfony/lib/command/cli.php:20
    0.1344 6772144 4. sfTask->runFromCLI() /home/benoit/sfprojects/lafeniere/lib/vendor/symfony/lib/command/sfSymfonyCommandApplication.class.php:76
    0.1346 6773132 5. sfBaseTask->doRun() /home/benoit/sfprojects/lafeniere/lib/vendor/symfony/lib/task/sfTask.class.php:97
    0.1497 7411760 6. sfDoctrineBuildTask->execute() /home/benoit/sfprojects/lafeniere/lib/vendor/symfony/lib/task/sfBaseTask.class.php:68
    2.0431 11409124 7. sfTask->run() /home/benoit/sfprojects/lafeniere/lib/vendor/symfony/lib/plugins/sfDoctrinePlugin/lib/task/sfDoctrineBuildTask.class.php:169
    2.0433 11412580 8. sfBaseTask->doRun() /home/benoit/sfprojects/lafeniere/lib/vendor/symfony/lib/task/sfTask.class.php:173
    2.0435 11414888 9. sfDoctrineBuildFormsTask->execute() /home/benoit/sfprojects/lafeniere/lib/vendor/symfony/lib/task/sfBaseTask.class.php:68
    2.0446 11440016 10. sfGeneratorManager->generate() /home/benoit/sfprojects/lafeniere/lib/vendor/symfony/lib/plugins/sfDoctrinePlugin/lib/task/sfDoctrineBuildFormsTask.class.php:64
    2.0776 15035752 11. sfDoctrineFormGenerator->generate() /home/benoit/sfprojects/lafeniere/lib/vendor/symfony/lib/generator/sfGeneratorManager.class.php:113
    2.0776 15035820 12. sfDoctrineFormGenerator->loadModels() /home/benoit/sfprojects/lafeniere/lib/vendor/symfony/lib/plugins/sfDoctrinePlugin/lib/generator/sfDoctrineFormGenerator.class.php:73
    2.1099 17029916 13. Doctrine_Core::initializeModels() /home/benoit/sfprojects/lafeniere/lib/vendor/symfony/lib/plugins/sfDoctrinePlugin/lib/generator/sfDoctrineFormGenerator.class.php:604
    2.1233 17409076 14. Doctrine_Core::getTable() /home/benoit/sfprojects/lafeniere/lib/vendor/symfony/lib/plugins/sfDoctrinePlugin/lib/vendor/doctrine/Doctrine/Core.php:743
    2.1234 17409076 15. Doctrine_Connection->getTable() /home/benoit/sfprojects/lafeniere/lib/vendor/symfony/lib/plugins/sfDoctrinePlugin/lib/vendor/doctrine/Doctrine/Core.php:1090
    2.1234 17417012 16. Doctrine_Table->__construct() /home/benoit/sfprojects/lafeniere/lib/vendor/symfony/lib/plugins/sfDoctrinePlugin/lib/vendor/doctrine/Doctrine/Connection.php:1123
    2.1240 17428484 17. BaseDish->setUp() /home/benoit/sfprojects/lafeniere/lib/vendor/symfony/lib/plugins/sfDoctrinePlugin/lib/vendor/doctrine/Doctrine/Table.php:260

    PHP Fatal error: Call to a member function evictAll() on a non-object in /home/benoit/sfprojects/lafeniere/lib/vendor/symfony/lib/plugins/sfDoctrinePlugin/lib/vendor/doctrine/Doctrine/Connection.php on line 1239
    PHP Stack trace:
    PHP 1. {main}() /home/benoit/sfprojects/lafeniere/symfony:0
    PHP 2. include() /home/benoit/sfprojects/lafeniere/symfony:14
    PHP 3. sfSymfonyCommandApplication->run() /home/benoit/sfprojects/lafeniere/lib/vendor/symfony/lib/command/cli.php:20
    PHP 4. sfTask->runFromCLI() /home/benoit/sfprojects/lafeniere/lib/vendor/symfony/lib/command/sfSymfonyCommandApplication.class.php:76
    PHP 5. sfBaseTask->doRun() /home/benoit/sfprojects/lafeniere/lib/vendor/symfony/lib/task/sfTask.class.php:97
    PHP 6. sfDoctrineBuildTask->execute() /home/benoit/sfprojects/lafeniere/lib/vendor/symfony/lib/task/sfBaseTask.class.php:68
    PHP 7. sfTask->run() /home/benoit/sfprojects/lafeniere/lib/vendor/symfony/lib/plugins/sfDoctrinePlugin/lib/task/sfDoctrineBuildTask.class.php:169
    PHP 8. sfBaseTask->doRun() /home/benoit/sfprojects/lafeniere/lib/vendor/symfony/lib/task/sfTask.class.php:173
    PHP 9. sfDoctrineBuildFormsTask->execute() /home/benoit/sfprojects/lafeniere/lib/vendor/symfony/lib/task/sfBaseTask.class.php:68
    PHP 10. sfGeneratorManager->generate() /home/benoit/sfprojects/lafeniere/lib/vendor/symfony/lib/plugins/sfDoctrinePlugin/lib/task/sfDoctrineBuildFormsTask.class.php:64
    PHP 11. sfDoctrineFormGenerator->generate() /home/benoit/sfprojects/lafeniere/lib/vendor/symfony/lib/generator/sfGeneratorManager.class.php:113
    PHP 12. sfDoctrineFormGenerator->loadModels() /home/benoit/sfprojects/lafeniere/lib/vendor/symfony/lib/plugins/sfDoctrinePlugin/lib/generator/sfDoctrineFormGenerator.class.php:73
    PHP 13. Doctrine_Core::initializeModels() /home/benoit/sfprojects/lafeniere/lib/vendor/symfony/lib/plugins/sfDoctrinePlugin/lib/generator/sfDoctrineFormGenerator.class.php:604
    PHP 14. Doctrine_Core::getTable() /home/benoit/sfprojects/lafeniere/lib/vendor/symfony/lib/plugins/sfDoctrinePlugin/lib/vendor/doctrine/Doctrine/Core.php:743
    PHP 15. Doctrine_Connection->getTable() /home/benoit/sfprojects/lafeniere/lib/vendor/symfony/lib/plugins/sfDoctrinePlugin/lib/vendor/doctrine/Doctrine/Core.php:1090
    PHP 16. Doctrine_Table->__construct() /home/benoit/sfprojects/lafeniere/lib/vendor/symfony/lib/plugins/sfDoctrinePlugin/lib/vendor/doctrine/Doctrine/Connection.php:1123
    PHP 17. BaseDish->setUp() /home/benoit/sfprojects/lafeniere/lib/vendor/symfony/lib/plugins/sfDoctrinePlugin/lib/vendor/doctrine/Doctrine/Table.php:260
    PHP 18. sfDatabaseManager->shutdown() /home/benoit/sfprojects/lafeniere/lib/vendor/symfony/lib/database/sfDatabaseManager.class.php:0
    PHP 19. sfDoctrineDatabase->shutdown() /home/benoit/sfprojects/lafeniere/lib/vendor/symfony/lib/database/sfDatabaseManager.class.php:134
    PHP 20. Doctrine_Manager->closeConnection() /home/benoit/sfprojects/lafeniere/lib/vendor/symfony/lib/plugins/sfDoctrinePlugin/lib/database/sfDoctrineDatabase.class.php:165
    PHP 21. Doctrine_Connection->close() /home/benoit/sfprojects/lafeniere/lib/vendor/symfony/lib/plugins/sfDoctrinePlugin/lib/vendor/doctrine/Doctrine/Manager.php:580
    PHP 22. Doctrine_Connection->clear() /home/benoit/sfprojects/lafeniere/lib/vendor/symfony/lib/plugins/sfDoctrinePlugin/lib/vendor/doctrine/Doctrine/Connection.php:1268

    Fatal error: Call to a member function evictAll() on a non-object in /home/benoit/sfprojects/lafeniere/lib/vendor/symfony/lib/plugins/sfDoctrinePlugin/lib/vendor/doctrine/Doctrine/Connection.php on line 1239

    Call Stack:
    0.0002 324924 1. {main}() /home/benoit/sfprojects/lafeniere/symfony:0
    0.0031 584908 2. include('/home/benoit/sfprojects/lafeniere/lib/vendor/symfony/lib/command/cli.php') /home/benoit/sfprojects/lafeniere/symfony:14
    0.1290 6769740 3. sfSymfonyCommandApplication->run() /home/benoit/sfprojects/lafeniere/lib/vendor/symfony/lib/command/cli.php:20
    0.1344 6772144 4. sfTask->runFromCLI() /home/benoit/sfprojects/lafeniere/lib/vendor/symfony/lib/command/sfSymfonyCommandApplication.class.php:76
    0.1346 6773132 5. sfBaseTask->doRun() /home/benoit/sfprojects/lafeniere/lib/vendor/symfony/lib/task/sfTask.class.php:97
    0.1497 7411760 6. sfDoctrineBuildTask->execute() /home/benoit/sfprojects/lafeniere/lib/vendor/symfony/lib/task/sfBaseTask.class.php:68
    2.0431 11409124 7. sfTask->run() /home/benoit/sfprojects/lafeniere/lib/vendor/symfony/lib/plugins/sfDoctrinePlugin/lib/task/sfDoctrineBuildTask.class.php:169
    2.0433 11412580 8. sfBaseTask->doRun() /home/benoit/sfprojects/lafeniere/lib/vendor/symfony/lib/task/sfTask.class.php:173
    2.0435 11414888 9. sfDoctrineBuildFormsTask->execute() /home/benoit/sfprojects/lafeniere/lib/vendor/symfony/lib/task/sfBaseTask.class.php:68
    2.0446 11440016 10. sfGeneratorManager->generate() /home/benoit/sfprojects/lafeniere/lib/vendor/symfony/lib/plugins/sfDoctrinePlugin/lib/task/sfDoctrineBuildFormsTask.class.php:64
    2.0776 15035752 11. sfDoctrineFormGenerator->generate() /home/benoit/sfprojects/lafeniere/lib/vendor/symfony/lib/generator/sfGeneratorManager.class.php:113
    2.0776 15035820 12. sfDoctrineFormGenerator->loadModels() /home/benoit/sfprojects/lafeniere/lib/vendor/symfony/lib/plugins/sfDoctrinePlugin/lib/generator/sfDoctrineFormGenerator.class.php:73
    2.1099 17029916 13. Doctrine_Core::initializeModels() /home/benoit/sfprojects/lafeniere/lib/vendor/symfony/lib/plugins/sfDoctrinePlugin/lib/generator/sfDoctrineFormGenerator.class.php:604
    2.1233 17409076 14. Doctrine_Core::getTable() /home/benoit/sfprojects/lafeniere/lib/vendor/symfony/lib/plugins/sfDoctrinePlugin/lib/vendor/doctrine/Doctrine/Core.php:743
    2.1234 17409076 15. Doctrine_Connection->getTable() /home/benoit/sfprojects/lafeniere/lib/vendor/symfony/lib/plugins/sfDoctrinePlugin/lib/vendor/doctrine/Doctrine/Core.php:1090
    2.1234 17417012 16. Doctrine_Table->__construct() /home/benoit/sfprojects/lafeniere/lib/vendor/symfony/lib/plugins/sfDoctrinePlugin/lib/vendor/doctrine/Doctrine/Connection.php:1123
    2.1240 17428484 17. BaseDish->setUp() /home/benoit/sfprojects/lafeniere/lib/vendor/symfony/lib/plugins/sfDoctrinePlugin/lib/vendor/doctrine/Doctrine/Table.php:260
    2.1266 17430776 18. sfDatabaseManager->shutdown() /home/benoit/sfprojects/lafeniere/lib/vendor/symfony/lib/database/sfDatabaseManager.class.php:0
    2.1266 17430776 19. sfDoctrineDatabase->shutdown() /home/benoit/sfprojects/lafeniere/lib/vendor/symfony/lib/database/sfDatabaseManager.class.php:134
    2.1267 17430776 20. Doctrine_Manager->closeConnection() /home/benoit/sfprojects/lafeniere/lib/vendor/symfony/lib/plugins/sfDoctrinePlugin/lib/database/sfDoctrineDatabase.class.php:165
    2.1267 17430776 21. Doctrine_Connection->close() /home/benoit/sfprojects/lafeniere/lib/vendor/symfony/lib/plugins/sfDoctrinePlugin/lib/vendor/doctrine/Doctrine/Manager.php:580
    2.1267 17432396 22. Doctrine_Connection->clear() /home/benoit/sfprojects/lafeniere/lib/vendor/symfony/lib/plugins/sfDoctrinePlugin/lib/vendor/doctrine/Doctrine/Connection.php:1268
    L'entité concernée dans schema.yml :
    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
    Dish:
      tableName:  sf_dish
      actAs:
        Timestampable:  ~
        I18N:
          fields:       [label]
          actAs:
            Sluggable:
              fields:   [label]
              uniqueBy: [lang, name]
      columns:
        label:
          type:     string(255)
          notnull:  true
        price:
          type:     integer
          notnull:  true
        dish_category_id:
          type:     integer
          notnull:  true
      relations:
        DishCategory:
          onDelete: CASCADE
          foreignAlias: dishes
    Et la fonction setup() de BaseDish:
    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
    public function setUp()
        {
            parent::setUp();
            $this->hasOne('DishCategory', array(
                 'local' => 'dish_category_id',
                 'foreign' => 'id',
                 'onDelete' => 'CASCADE'));
     
            $timestampable0 = new Doctrine_Template_Timestampable();
            $i18n0 = new I18N(array(
                 'fields' => 
                 array(
                  0 => 'label',
                 ),
                 ));
            $sluggable1 = new Doctrine_Template_Sluggable(array(
                 'fields' => 
                 array(
                  0 => 'label',
                 ),
                 'uniqueBy' => 
                 array(
                  0 => 'lang',
                  1 => 'name',
                 ),
                 ));
            $i18n0->addChild($sluggable1);
            $this->actAs($timestampable0);
            $this->actAs($i18n0);
        }
    Comment se fait-il que cette classe ne soit pas trouvée ? Où est-elle sensée se trouver ? Y-t--il une extension ou un module php à activer pour utiliser l'I18N ?

    Merci d'avance

  2. #2
    Expert confirmé
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : DPO
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2005
    Messages : 4 954
    Par défaut
    Manifestement c'est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $i18n0 = new I18N(array(
    qui pose problème.

    Par contre, je suis surpris vu que le code est généré et que tu n'y as pas touché (je pars sur ce principe avec peu de chances de me tromper).

    En fait, le code devrait être
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $i18n0 = new Doctrine_Template_I18n(array(
    .

    La question est donc, pourquoi n'a-t-il pas généré correctement le code ?

    Il y a aussi la possibilité que le nom de l'objet ait changé sur la dernière version (peu probable) vu que j'ai la dernière version et que Doctrine_Template_I18n existe toujours. Que l'auto-load ne prenne pas cette bibliothèque en compte (mais il prend ces voisines de répertoire).

    Donc en restant sur la non génération, vérifies que tu as modifier dans ta configuration :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    # apps/frontend/config/settings.yml
    all:
      .settings:
        i18n: true
    Et dans ton schéma, échanges "I18N" par "I18n".

Discussions similaires

  1. [DOM] Comment ça "Class DomDocument not found" ? (PHP5)
    Par Nullos Oracle dans le forum Bibliothèques et frameworks
    Réponses: 3
    Dernier message: 13/07/2007, 18h11
  2. [Zip] Class ZipArchive not found
    Par Sayrus dans le forum Bibliothèques et frameworks
    Réponses: 4
    Dernier message: 07/06/2007, 16h04
  3. classe .cls not found
    Par iznogoud36 dans le forum Erreurs - Avertissements
    Réponses: 1
    Dernier message: 07/03/2007, 23h55
  4. Réponses: 1
    Dernier message: 09/02/2007, 14h59
  5. [TOMCAT 5.0 - JSP] Load: class XXX not found
    Par Hoegaarden dans le forum Tomcat et TomEE
    Réponses: 12
    Dernier message: 20/10/2005, 09h59

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo