2016-06-01 2 views
0

Я делаю заявку php с использованием propel ORM. Это дает мне следующее сообщение, когда я пытаюсь запустить его:Propel ORM и PHP

Fatal error: Uncaught Error: Class 'Propel\Runtime\Propel' not found in C:\MAMP\htdocs\Conference\vendor\bin\generated-conf\config.php:2 Stack trace: #0 C:\MAMP\htdocs\Conference\vendor\bin\list.php(6): require_once() #1 {main} thrown in C:\MAMP\htdocs\Conference\vendor\bin\generated-conf\config.php on line 2.

В моем config.php сгенерированный файл я это написал:

'classname' => '\\Propel\\Runtime\\Connection\\ConnectionWrapper' 

Что все это значит? Я пропустил какой-то файл или что?

+0

Не могли бы вы объяснить, каким образом вы добавили Propel ORM в свой проект? Вы использовали композитор или вручную добавили его? Если вы используете композитор, включили ли вы композитор автозагрузчика при его запуске? – chocochaos

ответ

0

Я думаю, что вам не хватает шага в здании. Я предполагаю, что у вас есть файл schema.xml, и вы также правильно настроили propel.yaml (или с разрешенным файлом расширения). Также я предполагаю, что вы получили Propel с композитором. Если у вас есть все это следующие шаги:

1) Откройте терминал и перейдите в каталог проекта, где находятся файлы schema.xml и propel.yaml.

2) Выполните следующую команду, чтобы получить YOUT сгенерированный-SQL (я должен сделать это таким образом на Windows):

c:\MAMP\htdocs\Conference\vendor\bin\propel sql:build 

3) Получить классы моделей с помощью следующей команды:

c:\MAMP\htdocs\Conference\vendor\bin\propel model:build 

4) После создания классов вы должны автозагрузить их. Откройте файл composer.json с текстовым редактором и добавьте следующие строки:

"autoload": { 
    "classmap": ["generated-classes/"] 
} 

Он должен выглядеть следующим образом, например:

{ 
    "require": { 
     "twig/twig": "~1.0", 
     "propel/propel": "[email protected]" 
    }, 

    "autoload": { 
     "classmap": ["generated-classes/"] 
    } 
} 

5) Для того, чтобы закончить классы автозагрузку, вам необходимо выполнить на консоли:

composer dump-autoload 

6) и для настройки соединения во время выполнения запуска этого для классов общаются во время выполнения:

c:\MAMP\htdocs\Conference\vendor\bin\propel config:convert 

7) Предположим, что вы создали базу данных, то последнее, что вам нужно сделать, это создать таблицы, это с помощью следующей команды:

c:\MAMP\htdocs\Conference\vendor\bin\propel sql:insert 

И там вы идете! Это работает для меня каждый раз, когда я строю проект.

Смежные вопросы