Как использовать классы моделей Domrine от Symfony вне Symfony? - PullRequest
2 голосов
/ 03 марта 2011

Есть ли способ использовать Doctrine, используя классы моделей, которые я уже настроил для своих приложений Symfony, без необходимости вызывать Symfony со всеми этими издержками?

Это больше, чтобы удовлетворить любопытство, чем что-либо еще. Для всех сценариев, которые я использовал, я только что смог создать экземпляр Symfony (что обычно получается неплохо, поскольку у меня есть все функции, с которыми я привык работать в этом конкретном проекте. Но должен быть способ загрузить Doctrine и использовать классы модели Symfony без Symfony ... Верно?

Ответы [ 2 ]

2 голосов
/ 03 марта 2011

Доктрина не зависит от Symfony. Доктрина сама по себе является «основой». Он имеет собственный автозагрузку и поэтому может работать со своими классами, как обычное приложение PHP. Вы можете интегрировать Doctrine с другими фреймворками, если хотите ( например CodeIgniter или Zend ). Таким образом, у вас есть любая свобода, в которой вы нуждаетесь, без необходимости выполнять утомительную миграцию ваших моделей / данных / ... из одной системы в другую.

0 голосов
/ 31 марта 2011

Я пришел к выводу, что на самом деле нет способа использовать классы моделей из Symfony в других местах. Немного поработав, вы можете перенести классы на новую модель Doctrine (даже если вы используете генератор, так как основной класс модели просто расширяет базу, которая расширяет sfDoctrineRecord (из документации API вы можете посмотрите, какие функции необходимо удалить).

В противном случае практического способа сделать это не существует.

В любое время, когда мне нужно получить доступ к модели Symfony, я делаю задачу или плагин, поскольку мне обычно требуется часть функциональности Symfony.

Что касается Symfony2, то просто просмотр документации заставляет меня хотеть кричать. Он не зрелый ни в какой форме или моде (но, опять же, Symfony не является «наследием»). Так что я не уверен, будет ли там легче.

...