2009-12-02 7 views

risposta

8

Se si crea nuovo progetto (fresca) ...

symfony generate:project xxx --orm=Propel 

La cosa più facile :)

Se si desidera cambiare progetto esistente - si deve scavare nel file di configurazione e attivare plug Propel .

Il file di configurazione dovrebbe essere simile a:

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

(in base a pagina Symfony, si dovrebbe scavare la prossima volta - soprattutto Practical Symfony)

+2

BTW, se stai iniziando un nuovo progetto, io ** consiglio vivamente a Doctrine. È meglio. –

+1

Sono d'accordo con Tomasz. Non usare Propel. –

+3

e Priidik: almeno si prega di fornire alcuni argomenti, collegamenti ecc. Che indicano precisamente perché Doctrine è migliore di Propel (tuttavia dopo più di un anno, gli argomenti sono sicuramente cambiati ...). –

5

Usa Propel se vi piace la sintassi orientata agli oggetti.

5

Se ti piacciono le chiamate al metodo degli oggetti concatenati che assomigliano alle istruzioni SQL, usa Doctrine. Se ti piacciono gli oggetti reali che nascondono SQL, usa Propel.

Se ti piace creare oggetti criterio che poi si presentano come clausole WHERE, usa Propel. Se ti piace creare clausole WHERE simili a SQL, usa Doctrine.

È possibile utilizzare entrambi allo stesso tempo. Non consigliato, ma se usi plugin come apostrofo che usano solo Doctrine, potresti non avere scelta.

+0

grazie! si! corretta. –

1

Rispondere ai contributori che raccomandano totalmente Doctrine: a mio avviso, la decisione non è chiara. Propel ora supporta anche metodi di query concatenabili, quindi se ti piace questo approccio, entrambi sono ancora in gioco. Inoltre, il team di Propel sostiene che la natura generata degli oggetti del modello rende più veloce l'esecuzione per la maggior parte dei casi d'uso rispetto a Doctrine.