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