Symfony 1.1 – Perché Doctrine invece di Propel

Durante l’IPC tenutosi a Francoforte la scorsa settimana ho avuto il piacere di partecipare al talk di Fabien Potencier riguardo alle novità di Symfony 1.1.

Ho deciso quindi che ne parlerò in post dedicati cercando di dare un qualche spazio di approfondimento a quelle che a mio parere sono delle novità veramente interessanti.

Per ora mi limiterò ad una piccola premessa su come il team di sviluppo ha deciso di operare per le prossime versioni di Symfony in modo da chiarire alcuni dubbi su compatibilità, orm e quant’altro.

Symfony 1.1/3 - Old dependancies Innanzitutto Fabien ha spiegato che le release di Symfony seguono uno schema ben preciso:
php 5.x => Symfony 1.x

Quindi Symfony 1.1 necessiterà di php 5.1 per poter funzionare, allo stesso modo Symfony 1.2 necessiterà di php 5.2 e così via.

Perchè è importante questa precisazione? Perchè questo comporterà in Symfony 1.1 l’abbandono (diciamo più messa da parte) di Propel a favore di Doctrine. Infatti la nuova versione di Propel attualmente è dipendente da php 5.2, e va contro le specifiche del framework.

Inoltre come potete vedere dall’immagine qui a fianco (e da quella che la segue) la gestione delle dipendenze del framework è stata interamente rivista. Questo ha permesso di scrivere il famoso sotto-framework di validazione, di cui parleremo in futuro, e di dare accesso ai metodi principali direttamente da tutte le parti del codice, senza contare un buon incremento delle performance. Inoltre è stato implementato una gestione di scambio dei messaggi (tra una classe e l’altra) più semplice ed efficace.

Nella maggior parte dei casi non ci sarà comunque da riscrivere la propria applicazione, ma basterà aggiornare alcuni criteri di selezione/query usati.

8 Replies to “Symfony 1.1 – Perché Doctrine invece di Propel”

  1. Ottimo!
    Seguirò con molto interesse i tuoi futuri articoli su symfony 1.1 dato che utilizzo da relativamente poco questo fantasmagorico framewoek..

    Grazie 🙂

  2. Dato che sto sviluppando un progetto con Symfony 1.0.8, e che questo progetto usa Propel, secondo te come impatterà l’uscita di Symfony 1.1 su questo progetto? Se volessi passare a 1.1 dovrei riscrivere tutte le action dei moduli che fanno delle query sul db? O gli oggetti di alto livello, per esempio l’oggetto Criteria o i *Peer, vengono utilizzati anche da Doctrine alla stessa maniera?

    Ciao

  3. si, dovresti riscrivere gran parte delle action.. però puoi sempre continuare ad usare propel su symfony 1.1 in quando sarà usabile come plugin esterno. così come ora avviene per doctrine con symfony 1.0

  4. Mah ti dirò.. se il team ha fatto questa scelta sicuramente ci avranno ragionato sopra per bene quindi quando deciderò di aggiornare a 1.1 lo farò consapevole di dover riscrivere parte del codice.

    PS: Se ti va ne parliamo meglio venerdi all’agile day.

    PPS(OT): Hai qualche notizia della mia domanda di ammissione al GrUSP? 😀

  5. Ciao,

    l’abbandono di propel che preannunci sarà quindi dalla 1.2?
    Nel post hai scritto dalla 1.1.. Se 1.1 => Php 5.1 allora Doctrine non potrebbe funzionare…

    Complimenti per il blog.
    Cordiali Saluti.

    mauro casula.
    symfony-framework.com

Leave a Reply

Your email address will not be published. Required fields are marked *