2009-06-17 12 views
7

Sto per iniziare a costruire un'enorme applicazione di assistenza sanitaria clinica con PHP e sto cercando qualche consiglio su un framework. Devo essere in grado di trovare un prototipo veloce, quindi è importante che il framework si prenda cura di molti compiti banali; quindi, l'ho ristretto a CakePHP o Symfony.Quale PHP MVC Framework per l'impresa; CakePHP o Symfony?

Spero di ottenere alcune opinioni sugli sviluppatori che hanno funzionato con entrambi i framework.

Grazie, Pete

+0

Ciao a tutti, Zend non è una delle mie opzioni. Zend_ACL viene arrestato e lo è da molto tempo. – slypete

+0

C'è un buon articolo su come utilizzare l'ACL nel modo in cui era inteso qui: http://devzone.zend.com/article/3509 –

risposta

6

IBM ha pubblicato un articolo qui su entrambi i quadri insieme a Zend in un comparisson, vedi:

http://www.ibm.com/developerworks/opensource/library/os-php-fwk1/?S_TACT=105AGX44&S_CMP=ART

Io personalmente uso CakePHP, è abbastanza impressionante rispetto ad appena il dritto fuori di PHP. Facile da costruire, molto focalizzata su MVC, ragionevole integrazione con componenti di terze parti. Ho avuto alcuni problemi con la mancanza di qualsiasi tipo di percorso di aggiornamento distinguibile tra le versioni però. Non posso parlare per Symfony, ma credo che sia più pesante di CakePHP.

Date un'occhiata ai screencast per CakePHP così, danno una buona panoramica:

http://cakephp.org/screencasts

+0

Ottima risorsa IBM grazie! – slypete

3

Mi raccomando di leggere la risposta giusta per this question. Menziona Zend Framework come la scelta migliore e presenta alcuni punti corretti per giustificarlo.

+0

Sì, è un'ottima risposta: P –

+0

Molto d'accordo. – Tom

+0

Grazie, ma Zend non era uno dei quadri che ho chiesto. Non posso usare Zend perché c'è stato un bug in Zend_ACL da un po 'di tempo. – slypete

0

ho avuto esperienza minimo con entrambi i quadri, ma tutto quello che ho mai sentito parlare di symfony era reclami (anche se sembra essere usato un sacco!). Probabilmente solo che le persone non dedicano il tempo necessario per apprendere pienamente il framework.

Dalla mia esperienza entrambi sembrano essere quadri decenti, ma come ogni buon sviluppatore devi capire almeno il livello di astrazione sotto quello che stai usando per essere efficace.

+0

Amo symfony! (ora hai sentito altro che compendi ;-) – phidah

0

non ho usato altri framework, ma io uso Zend Framework ed è grande. benefici sono:

  1. pulito e libreria standard, stile di codifica, convenzioni, ecc
  2. supporto
  3. impresa: è supportato da Zend, la società che ogni programmatore PHP sa
  4. manuale completo, molti post del blog e tutorial, almeno 2 libri ben scritti
  5. ha pacchetti sulla maggior parte dei sistemi operativi open source, così facile da installare e mantenere
  6. un progetto open source molto live, gli aggiornamenti arrivano così presto che non è possibile tenere il passo con loro.
  7. licenza open: ZF usa licenza BSD-like in modo da non avere molti problemi di licenza
5

mi piacerebbe per contrastare alcune delle argomentazioni di cui sopra. Ho lavorato a lungo con Zend Framework e symfony e ho avuto un breve sguardo a CakePHP.

Prima di tutto, rispetto a symfony, la documentazione ZF non è "estesa" - è invece piuttosto superficiale. Secondo, penso che la comunità di symfony sia molto più disponibile e utile rispetto al framework ZF in generale, e il processo di sviluppo è molto più trasparente.

Tuttavia, sono d'accordo sul fatto che Zend Framework abbia il vantaggio di essere supportato da Zend, che potrebbe essere un argomento valido per i progetti aziendali.

Nella mia esperienza symfony è più un framework che ZF. In symfony usi l'intero pacchetto - o l'intero frame, mentre tu in ZF puoi usare gli strumenti a tuo piacimento, rendendolo più simile a una "cassetta degli attrezzi" che a un framework.

Ricorda inoltre che se ti piacciono alcuni degli strumenti in ZF, sarai in grado di utilizzarli in symfony (e probabilmente anche in CakePHP), insieme a symfony/CakePHP.

Questa non è davvero una risposta, ma più come un commento generale alle risposte fornite sopra.

+2

Concordato con il commento "toolbox". CakePHP è anche un framework completo, che potrebbe essere il motivo per cui si comporta in modo peggiore nei benchmark (passa attraverso un'istanza completa ogni richiesta, mentre ZF carica solo alcuni moduli). E la maggior parte dei benchmark misura solo un'applicazione di tipo world Hello. –

0

Le mie decisioni quadro si riducono a questo (si noti che io principalmente uso Cake, piccolo Zend, e ho giocato con CodeIgniter e symfony).

Zend è il più intraprendente. Tu hai la gente @ Zend che la supporta - penso che la cronologia dello sviluppo sia il più solido in avanti. Ha anche alcuni ottimi moduli come lettori PDF, ecc.

L'obiettivo di CakePHP (IMO) è un rapido sviluppo. Ma è sempre uno dei peggiori risultati in termini di prestazioni: se hai un'app per uso intensivo, penso che Paul M Jones abbia alcuni post sui benchmark. Zend è circa 2-2,5 volte più veloce di Cake, IIRC. Se non hai esperienza MVC, Cake può essere una buona scelta b/c def. ti blocca in MVC. Mi trovo costantemente a dover pensare al di fuori del loro schema, però - ecco perché mi sto lentamente spostando su Zend.

Anche gli altri framework hanno punti di forza diversi. A PHP | Tek di Chicago, CodeIgniter era il discorso della conferenza, quindi potrebbe avere un grande slancio nel prossimo anno o due.

Torta e Zend hanno anche super stretta integrazione con alcune altre cose enterprisey come test di unità, ecc

2

Lasciatemi iniziare dicendo non ho alcuna esperienza precedente con CakePHP o Zend oltre ad avere navigato in giro per il codice del framework e la loro documentazione. Ho iniziato a utilizzare Symfony circa 15 mesi fa e ho fatto ricerche prima di quale framework utilizzare. Ho deciso di andare su Symfony perché ho trovato il core di Symfony da scrivere in un modo piacevole e ordinato. Mi sembrava di capire facilmente il framework leggendo il codice stesso. Inoltre ho trovato un'enorme quantità di documentazione che è davvero focalizzata sul lavorare con il framework per produrre determinate funzionalità. Molto pragmatico, per così dire. CakePHP non sembra proprio adattarsi al mio stile personale e ho percepito il nucleo come molto hacky. Ancora una volta, potrei sbagliarmi, ma era così che mi sentivo indietro rispetto a. Dopo 15 mesi di programmazione con Symfony sono comunque molto soddisfatto. Spesso leggi commenti o blog che dicono che è troppo complicato. Penso che queste persone insultino la loro stessa intelligenza. Ci vuole davvero un po 'prima che tu riesca a capire con precisione gli interni del framework e gli approcci ai problemi, ma una volta superato quel punto è davvero uno strumento fantastico. La comunità è molto utile e il futuro sembra luminoso. Tutto sommato, posso solo consigliarti di seguire il tuo istinto quando osservi gli approcci adottati dai framework e il loro codice e stili di codifica. Trascorrerai molto tempo in questi framework, quindi devi sentirti a tuo agio quando guardi il loro codice e le loro soluzioni per problemi comuni. Ogni struttura là fuori è terribile se si inizia a combatterlo, il fatto che ne segui renderà ognuno di loro un grande strumento. Qualcuno potrebbe alla fine risultare migliore dell'altro.Immagino che saprai la risposta a te stesso dopo aver finito il tuo progetto con esso.

Buona fortuna :-)

0

Sicuramente Yii, abbiamo usato più volte per l'impresa e sono stati molto soddisfatti del risultato. Mi piacciono particolarmente le sue estensioni come backvendor, coco, bootstrap. Per me Yii è stato abbastanza facile da imparare e implementare. Ho provato un php di torta ma mi sembra molto più chiaro. Comunque, qualunque sia la struttura che usi, devi migliorare continuamente le tue competenze linguistiche di base in parallelo. Questo aiuta a sfruttare al massimo il framework che stai utilizzando.

Problemi correlati