Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [symfony] Jobeet day 3 - Fatal error: Class 'BaseFormDoctrine' not found
Forum PHP.pl > Forum > PHP > Frameworki
shreeve
Witam serdecznie,
potrzebuję pomocy osób, które na mają do czynienia z symfony już od jakiegoś czasu i być może spotkały się z podobną sytuacją.
Otóż w dniu 3 Jobeet,wszystko idzie przyjemnie do czasu chęci wygenerowania modułu:
  1. php symfony doctrine:generate-module --with-show --non-verbose-templates frontend job JobeetJob

Otrzymuję komunikat:
  1. PHP Fatal error: Class 'BaseFormDoctrine' not found in /var/www/sfproject/lib/form/doctrine/base/BaseJobeetJobForm.class.php on line 14
  2. PHP Stack trace:
  3. PHP 1. {main}() /var/www/sfproject/symfony:0
  4. PHP 2. include() /var/www/sfproject/symfony:14
  5. PHP 3. sfSymfonyCommandApplication->run() /var/www/sfproject/lib/command/cli.php:20
  6. PHP 4. sfTask->runFromCLI() /var/www/sfproject/lib/command/sfSymfonyCommandApplication.class.php:76
  7. PHP 5. sfBaseTask->doRun() /var/www/sfproject/lib/task/sfTask.class.php:97
  8. PHP 6. sfDoctrineGenerateModuleTask->execute() /var/www/sfproject/lib/task/sfBaseTask.class.php:68
  9. PHP 7. sfDoctrineGenerateModuleTask->executeGenerate() /var/www/sfproject/lib/plugins/sfDoctrinePlugin/lib/task/sfDoctrineGenerateModuleTask.class.php:98
  10. PHP 8. sfGeneratorManager->generate() /var/www/sfproject/lib/plugins/sfDoctrinePlugin/lib/task/sfDoctrineGenerateModuleTask.class.php:117
  11. PHP 9. sfModelGenerator->generate() /var/www/sfproject/lib/generator/sfGeneratorManager.class.php:113
  12. PHP 10. sfGenerator->generatePhpFiles() /var/www/sfproject/lib/generator/sfModelGenerator.class.php:61
  13. PHP 11. sfGenerator->evalTemplate() /var/www/sfproject/lib/generator/sfGenerator.class.php:67
  14. PHP 12. require() /var/www/sfproject/lib/generator/sfGenerator.class.php:84
  15. PHP 13. sfModelGenerator->getFormObject() /var/www/sfproject/lib/plugins/sfDoctrinePlugin/data/generator/sfDoctrineModule/default/template/templates/_form.php:4
  16. PHP 14. sfAutoload->autoload() /var/www/sfproject/lib/autoload/sfAutoload.class.php:0
  17. PHP 15. sfAutoload->loadClass() /var/www/sfproject/lib/autoload/sfAutoload.class.php:163
  18. PHP 16. require() /var/www/sfproject/lib/autoload/sfAutoload.class.php:188
  19. PHP 17. sfAutoload->autoload() /var/www/sfproject/lib/autoload/sfAutoload.class.php:0
  20. PHP 18. sfAutoload->loadClass() /var/www/sfproject/lib/autoload/sfAutoload.class.php:163
  21. PHP 19. require() /var/www/sfproject/lib/autoload/sfAutoload.class.php:188
  22. [?php use_stylesheets_for_form($form) ?]
  23. [?php use_javascripts_for_form($form) ?]
  24.  
  25. [?php
  26.  
  27. /**
  28.  * Project form base class.
  29.  *
  30.  * @package jobeet
  31.  * @subpackage form
  32.  * @author Your name here
  33.  * @version SVN: $Id: sfDoctrineFormBaseTemplate.php 23810 2009-11-12 11:07:44Z Kris.Wallsmith $
  34.  */
  35. abstract class BaseFormDoctrine extends sfFormDoctrine
  36. {
  37. public function setup()
  38. {
  39. }
  40. }
  41. [?php
  42.  
  43. /**
  44.  * Project form base class.
  45.  *
  46.  * @package jobeet
  47.  * @subpackage form
  48.  * @author Your name here
  49.  * @version SVN: $Id: sfDoctrineFormBaseTemplate.php 23810 2009-11-12 11:07:44Z Kris.Wallsmith $
  50.  */
  51. abstract class BaseFormDoctrine extends sfFormDoctrine
  52. {
  53. public function setup()
  54. {
  55. }
  56. }
  57.  
  58. Fatal error: Class 'BaseFormDoctrine' not found in /var/www/sfproject/lib/form/doctrine/base/BaseJobeetJobForm.class.php on line 14
  59.  
  60. Call Stack:
  61. 0.0003 324164 1. {main}() /var/www/sfproject/symfony:0
  62. 0.0040 579660 2. include('/var/www/sfproject/lib/command/cli.php') /var/www/sfproject/symfony:14
  63. 0.2467 6437660 3. sfSymfonyCommandApplication->run() /var/www/sfproject/lib/command/cli.php:20
  64. 0.2560 6441064 4. sfTask->runFromCLI() /var/www/sfproject/lib/command/sfSymfonyCommandApplication.class.php:76
  65. 0.2565 6442040 5. sfBaseTask->doRun() /var/www/sfproject/lib/task/sfTask.class.php:97
  66. 0.2763 7072944 6. sfDoctrineGenerateModuleTask->execute() /var/www/sfproject/lib/task/sfBaseTask.class.php:68
  67. 0.2929 7840996 7. sfDoctrineGenerateModuleTask->executeGenerate() /var/www/sfproject/lib/plugins/sfDoctrinePlugin/lib/task/sfDoctrineGenerateModuleTask.class.php:98
  68. 0.2935 7862644 8. sfGeneratorManager->generate() /var/www/sfproject/lib/plugins/sfDoctrinePlugin/lib/task/sfDoctrineGenerateModuleTask.class.php:117
  69. 0.2971 8091008 9. sfModelGenerator->generate() /var/www/sfproject/lib/generator/sfGeneratorManager.class.php:113
  70. 0.3478 10295784 10. sfGenerator->generatePhpFiles() /var/www/sfproject/lib/generator/sfModelGenerator.class.php:61
  71. 0.3485 10296920 11. sfGenerator->evalTemplate() /var/www/sfproject/lib/generator/sfGenerator.class.php:67
  72. 0.3489 10357664 12. require('/var/www/sfproject/lib/plugins/sfDoctrinePlugin/data/generator/sfDoctrineModule/default/template/templates/_form.php') /var/www/sfproject/lib/generator/sfGenerator.class.php:84
  73. 0.3489 10357664 13. sfModelGenerator->getFormObject() /var/www/sfproject/lib/plugins/sfDoctrinePlugin/data/generator/sfDoctrineModule/default/template/templates/_form.php:4
  74. 0.3490 10358020 14. sfAutoload->autoload() /var/www/sfproject/lib/autoload/sfAutoload.class.php:0
  75. 0.3490 10358020 15. sfAutoload->loadClass() /var/www/sfproject/lib/autoload/sfAutoload.class.php:163
  76. 0.3492 10360848 16. require('/var/www/sfproject/lib/form/doctrine/JobeetJobForm.class.php') /var/www/sfproject/lib/autoload/sfAutoload.class.php:188
  77. 0.3492 10361132 17. sfAutoload->autoload() /var/www/sfproject/lib/autoload/sfAutoload.class.php:0
  78. 0.3492 10361132 18. sfAutoload->loadClass() /var/www/sfproject/lib/autoload/sfAutoload.class.php:163
  79. 0.3496 10392192 19. require('/var/www/sfproject/lib/form/doctrine/base/BaseJobeetJobForm.class.php') /var/www/sfproject/lib/autoload/sfAutoload.class.php:188


Przeorałem google'a, nawet pobrałem wersję 1.4 z SVN i sytuacja identyczna. Co ciekawe, plik BaseFormDoctrine.class.php znajduje się w ścieżce /lib/form/doctrine
Czy coś przeoczyłem? Na kanale IRC związanym z symfony dowiedziałem się, że zdarzają się osoby z takim problemem - ale trochę mi ten argument nie wystarcza smile.gif
Crozin
Autoloader ma swój plik cachea, w którym trzyma ścieżki do odpowiednich plików. Rozwiązanie to usunięcie tego pliku:
Kod
./symfony cache:clear
destroyerr
@Crozin jeśli mówimy o wersji 1.4 to chyba nie trzeba już ręcznie czyścić cache.

Ja obstawiam, że formularze nie zostały zbudowane.
shreeve
Cache wyczyściłem i niestety w niczym to nie pomogło. Rozumiem, że te pliki związane z tworzonymi modułami powinny pojawić się w apps/frontend/modules, natomiast katalog ten jest pusty.
destroyerr
Nadal nie wiem co z formularzami, ale miniemy to. Po Twoim poście na GL sprawdziłem problem, przeszukałem trac'a. Znalazłem parę propozycji do rozwiązania problemu, spojrzałem na Twoje ścieżki i zauważyłem dziwny sposób instalacji, chyba inaczej powinno to wyglądać.
shreeve
W tej chwili zrobiłem w ten sposób, że ścieżki wyglądają następująco:
/var/www/jobeet/apps
/var/www/jobeet/confg
/var/www/jobeet/data
/var/www/jobeet/lib
....
O ile taki sposób na Windows zadziałał, na Ubuntu nadal otrzymuję ten sam błąd co poprzednio.
Wirtualny host dodany w sposób:
<VirtualHost jobeet.local:80>
DocumentRoot "C:/wamp/www/jobeet/web"
DirectoryIndex index.php
ServerName jobeet.local
<Directory "c:/wamp/www/jobeet/web">
AllowOverride All
Allow from All
</Directory>

Alias /sf "c:/wamp/www/jobeet/data/web/sf"
<Directory "c:/wamp/www/jobeet/data/web/sf">
AllowOverride All
Allow from All
</Directory>
</VirtualHost>

i reszta to domyślna budowa pliku z /etc/apache2/sites-available/default
------------
Tak jak powiedziałeś destroyerr, problem leżał w nieprawidłowych ścieżkach. Zastanawia mnie tylko, jakim cudem ruszyło to na Windowsie? Zrobiłem prawie idealnie tak jak w jobeet - w C:\wamp\www utworzyłem projekt "jobeet", w nim natomiast lib/vendor i tam dopiero wrzuciłem pobrane z SVN symfony. I działa, chociaż nie wiem dlaczego poprzednio miał z tym problem?
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.