2010-08-30 18 views
5

Qualcuno può elencarmi quali sono gli svantaggi del framework CakePHP rispetto ad altri framework PHP?
1) E per favore spiega perché quella caratteristica mancante è così importante per un progetto PHP?Svantaggi di cakePHP framework

2) In che modo questa funzionalità mancante aiuta gli sviluppatori Web a coloro che utilizzano Framework con tale funzione?

risposta

6

Il grosso problema con Cake è che è molto supponente. Questo naturalmente è anche la sua grande forza. Con questo intendo che Cake è fortemente orientato verso determinati tipi di app, ovvero lo standard CRUD apps. Se il tuo progetto è CRUD, Cake può essere di grande aiuto. Se stai cercando di fare qualcosa di molto diverso e vuoi un sacco di personalizzazioni, Cake potrebbe davvero intralciarti.

Poiché è molto supponente, potrebbe non essere adatto a voi se le vostre opinioni sono diverse. Quando lavori con Cake, devi fare le cose il modo Cake. Questo non vuol dire che non puoi estenderlo e personalizzarlo, ma anche quando lo fai, devi farlo il modo Cake. La curva di apprendimento iniziale può essere abbastanza ripida e dovrai essere abbastanza esperto se vuoi uscire dai confini della Torta. Il rovescio della medaglia è che di solito c'è uno stile di codifica molto coerente tra tutti i progetti di Cake.

La torta tende ad essere un quadro più grosso, rispetto a quelli che cercano esplicitamente di essere senza grassi. Se il tuo obiettivo principale è rappresentato dalle prestazioni ad alta velocità, potresti dover dedicare più tempo alla messa a punto. Di solito questo è compensato da tempi di sviluppo più rapidi. Questa è l'arma a doppio taglio dell'uso di molti automagici.

Non c'è un grande affare in Cake. Puoi fare tutto ciò che vuoi con esso, proprio come puoi con altri framework. Si presta solo meglio ad alcuni progetti che ad altri.

0

I benchmark mostrano che la torta è un po 'più lenta di altri quadri. e inoltre non ha supporto per i modelli.

+4

"Nessun modello di supporto"? Prima di tutto, PHP è già un linguaggio modello. In secondo luogo, ci sono i plugin Cake per i linguaggi dei template più diffusi e, se non c'è, puoi scrivere il tuo involucro sottile (una vista personalizzata) intorno ad esso e sei pronto per partire. Le viste personalizzate sono una caratteristica esplicita di Cake. Inoltre, puoi indicare qualsiasi benchmark recente per favore? La torta può essere o meno lenta, ma nessuno è stato in grado di produrre fatti concreti a sostegno di questa affermazione con dati recenti. – deceze

0

Mi piace cakephp ma l'ho trovato non amichevole con codice non-cake in giro. È difficile unire il codice della torta con pagine e sessioni generiche di php. torta è entrata nel mio progetto dopo 2 anni (a causa dei suoi vantaggi). il codice legacy esiste ancora e viene sviluppato attivamente, ma dobbiamo stare attenti a scegliere di codificare il modulo X in modo che non si tratti di una torta o di un altro. È anche difficile chiamare i controller di torta dall'esterno della torta.

+0

Non è compatibile con il codice saphghetti. Significato, se vuoi unire la tua logica, modello e vista in un unico file e usarlo come un controller in torta, la torta sarà infelice. Tuttavia, se si rilascia codice esistente come fornitore, verrà eseguito correttamente con le sue funzioni. Cake usa le sessioni standard. Il problema potrebbe essere in realtà la mancanza di standard sul codice legacy, non sulla struttura del framework. –

2

Attualmente è ancora un framework PHP4 e quindi non utilizza nessuna delle nuove funzionalità PHP.

+4

... che d'altra parte garantisce un'elevata compatibilità. Ci sono un sacco di lati opposti a Cake. Con framework come Zend puoi metterti nei guai perché non funzioneranno su installazioni PHP anche leggermente più vecchie. Sono d'accordo però che dovrebbero abbandonare il supporto per PHP 4, è una follia continuare a usarlo. :) – deceze

+0

Sì, il prossimo CakePHP 2.0 lascerà il supporto per PHP4. – dhofstet

+0

Inoltre, CakePHP 2 sarà compatibile API con CakePHP 1.3, quindi se stai iniziando un nuovo progetto dovresti essere in grado di abbandonare la v2 quando è disponibile senza modificare il codice. – bjudson