Вопрос

Как мне правильно переключить только что установленную среду Symfony 1.4 с Doctrine (которая настроена по умолчанию) на Propel?

Это было полезно?

Решение

Если вы создаете новый (свежий) проект...

symfony generate:project xxx --orm=Propel

Самое простое :)

Если вы хотите изменить существующий проект — вам нужно покопаться в файле конфигурации и включить плагин propel.

Ваш файл конфигурации должен выглядеть примерно так:

// config/ProjectConfiguration.class.php
public function setup()
{
  $this->enablePlugins('sfPropelPlugin');
  ...
}

(на основе страницы Symfony, вам стоит покопаться в следующий раз - особенно Практическая Симфония)

Другие советы

Используйте Propel, если вам нравится объектно-ориентированный синтаксис.

Если вам нравятся вызовы методов связанных объектов, которые выглядят как операторы SQL, используйте Doctrine.Если вам нравятся реальные объекты, скрывающие SQL, используйте Propel.

Если вам нравится создавать объекты критериев, которые затем представляют собой предложения WHERE, используйте Propel.Если вам нравится создавать предложения WHERE, похожие на SQL, используйте Doctrine.

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

Отвечая участникам, которые полностью рекомендуют Doctrine:решение, на мой взгляд, не однозначное.Propel теперь также поддерживает методы цепочки запросов, поэтому, если вам нравится этот подход, то оба они все еще в силе.Кроме того, команда Propel утверждает, что генерируемый характер объектов модели позволяет в большинстве случаев использовать ее быстрее, чем Doctrine.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top