2009-12-02 27 views

Respuesta

8

Si crea nuevo proyecto (fresco) ...

symfony generate:project xxx --orm=Propel 

Lo más fácil :)

Si desea cambiar de proyecto existente - usted tiene que cavar en el archivo de configuración y activar el plugin de propulsión .

Su archivo de configuración debería ser similar a:

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

(basada en la página de Symfony, se debe excavar la próxima vez - en especial Practical Symfony)

+2

Por cierto, si está comenzando un proyecto nuevo, ** recomiendo encarecidamente ** Doctrine. Es mejor. –

+1

Estoy de acuerdo con Tomasz. No use Propel. –

+3

y Priidik: al menos brinde algunos argumentos, enlaces, etc., que digan precisamente por qué Doctrine es mejor que Propel (sin embargo, después de más de un año, los argumentos ciertamente han cambiado ...). –

5

Uso Propel si te gusta la sintaxis orientada a objetos.

5

Si le gustan las llamadas al método objeto encadenado que parecen declaraciones SQL, use Doctrine. Si le gustan los objetos reales que ocultan SQL, use Propel.

Si le gusta crear objetos de criterio que luego se representan como cláusulas WHERE, use Propel. Si le gusta crear cláusulas WHERE similares a SQL, use Doctrine.

Puede usar ambos al mismo tiempo, también. No se recomienda, pero si utiliza complementos como un apóstrofo que solo usa Doctrine, es posible que no tenga otra opción.

+0

gracias! ¡sí! correcto. –

1

Respondiendo a los colaboradores aquí que recomiendan totalmente Doctrine: la decisión no es clara, en mi opinión. Propel ahora también es compatible con métodos de consulta encadenables, por lo que si te gusta ese enfoque, entonces ambos están todavía en juego. Además, el equipo de Propel sostiene que la naturaleza generada de los objetos modelo hace que sea más rápido ejecutar la mayoría de los casos de uso que Doctrine.

Cuestiones relacionadas