Я новичок в мире ORM и интегрирую доктрину 2 с проектом zf. Я просмотрел документацию доктрины и различные статьи и интегрировал ее :).
У меня есть существующая БД, из которой я могу генерировать свои мапперы и сущности. Я готов использовать сопоставители XML / YAML вместо аннотаций по умолчанию.
Все, что я вижу повсюду, это команды CLI для генерации картографических объектов и сущностей, выполняя следующие команды в каталоге bin, где " doctrine.php (предоставлено в официальных документах доктрины). )" Файл существует.
Для создания картографов:
*php doctrine orm:convert-mapping --from-database xml /path/to/mappers*
Чтобы создать классы сущностей / моделей:
*./doctrine orm:generate-entities /path/to/models/or/entities*
Но я не хочу выполнять команды и генерировать мапперы / сущности. Я ищу сценарий PHP, который делает это для меня (, вызывая метод действия в контроллере, например: www.doctrineproj.com/admin/mdoels/autogenerate/).
Есть ли у нас какой-либо класс API или какой-либо способ сделать это с помощью php-кода вместо выполнения сценария CLI.
может быть, позвонив как
Для создания картографов: doctrine_core :: generateMappers (dbParams, mapperDriver)
Для создания сущностей: doctrine_core :: generateEntities (metaData)
ИЛИ
есть ли способ выполнить все команды CLI из файла сценария php, используя такие системы, как вызовы?
Я пытался использовать exec () и system () с помощью приведенных выше команд cli. Но это не работает хорошо: (.
Вот код, который я использовал для генерации картографов из моего метода действия
public function autogenerateAction () {
$result = array();
//change the current working DIR to bin
$cliPath = "cd ". APPLICATION_PATH . "/bin";
exec($cliPath,$result);
//construct the CMD to generate the XML files from the DB tables
$mapperDir = APPLICATION_PATH. "/models/entities/xml-mapper/";
$mapperType = "xml";
$generateMappersCmd = "php doctrine orm:convert-mapping --from-database " . $mapperType . ' ' . $mapperDir ;
//execute the CMD
$result = system($generateMappersCmd);
}
, но приведенный выше код не создает сопоставители в целевом каталоге.
Пожалуйста, предложите мне лучшее решение для автоматического создания картографических объектов и сущностей из БД с использованием автоматического сценария php.
В ожидании лучшего решения.
Спасибо
Радж