I framework sono davvero necessari in PHP?
Quali sono i vantaggi e gli svantaggi dell'utilizzo di uno?
I framework sono davvero necessari in PHP?
Quali sono i vantaggi e gli svantaggi dell'utilizzo di uno?
Risposte:
No. Ma sono carini.
Pro : risparmia tempo senza dover ricostruire il codice da solo. Usa la miriade di caratteristiche, funzioni e strutture di dati create da qualcun altro che si applicano al tuo progetto.
Contro : non aver creato il codice da soli potrebbe essere una perdita a un livello superiore di comprensione sulla base della quale opera il progetto.
I framework di applicazioni Web sono validi solo come la tua esperienza con essi.
Ogni framework ha una curva di apprendimento, fino a quando non supererai quella curva, probabilmente finirai per fare le cose in modo tale da negare tutti i vantaggi dell'utilizzo di un framework. La tua applicazione sarà inutilmente lenta da sviluppare, il codice sarà difficile da seguire e il tutto si interromperà quando verrà rilasciata una nuova versione del framework. Vorrei raccomandare di non tentare di utilizzare un framework non familiare (o qualsiasi tecnologia sconosciuta) per progetti con una scadenza serrata.
Come si migliora l'utilizzo dei framework?
Dovrai costruire una manciata di terribili applicazioni di Dio e iterare. Alla fine capirai le stranezze e l'utilizzo di un framework ti consentirà tempi di sviluppo più brevi e un codice organizzato migliore.
Dovresti usare un framework PHP?
Chiunque codifichi abbastanza PHP alla fine utilizza un framework. La domanda è: userete il vostro framework o uno sviluppato da una terza parte? Nella mia esperienza, probabilmente non svilupperai mai il tuo framework che corrisponderà alla solidità e alla qualità di un framework di terze parti. Detto questo, lo sviluppo del proprio framework sembra essere un diritto di passaggio nella comunità PHP, quindi non lasciarti scoraggiare dallo scrivere la tua classe di astrazione del database.
Ecco un grafico utile:

Secondo Rasmus Lerdorf , non è necessario alcun framework aggiuntivo, poiché PHP è esso stesso un framework. http://toys.lerdorf.com/archives/38-The-no-framework-PHP-MVC-framework.html
Bene, dipende davvero dalle dimensioni del tuo progetto. Una home page senza database e non più di 10 pagine, un framework sarà troppo, principalmente perché i framewroks hanno sempre bisogno di molta configurazione e personalizzazione nella maggior parte dei casi, per soddisfare esigenze specifiche. E in alcune situazioni potrebbero essere un po 'più lenti rispetto a diverse pagine incluse in un file (pensa a tutto il framework che deve caricare per usare le sue funzionalità.).
Ora, se stai pianificando un sito di medie / grandi dimensioni, con interazioni con database, servizi web, ecc., Avrai bisogno di un framework per aiutarti a interagire con diverse tecnologie e organizzare il tuo codice in modo che quando le cose si rompano, avrai l'habilitie per rilevarlo e ripararlo rapidamente. Inoltre, se pensi ai client, cambiano sempre idea sul software, quindi se il client deve modificare o aggiungere una nuova funzionalità non dovresti passare attraverso tutto il tuo codice e pensare a come collegare questa nuova funzionalità a tutti questo sphagetti.
Ci sono molti altri pro e contro, ma questi sono i primi che mi sono passati per la testa.
Modifica: utilizzo il framework symfony nelle basi quotidiane e ho anche lavorato con php per l'università (ho tenuto alcuni corsi sullo sviluppo web che non mi hanno permesso di usare alcun framework), quindi la maggior parte di questi proviene da quell'esperienza.
Stai scherzando, vero?
La necessità dipende dall'uso. I computer non sono necessari all'umanità, né alle macchine, ecc.
Per quanto riguarda vantaggi / svantaggi, a ciascuno è proprio!
Vorrei mostrare qualche codice di esempio dal mio framework:
class Product extends DatabaseRow {
public $name='';
public $price=0.0;
public $images=array();
public $description='';
public table(){
return 'products';
}
}
$p=new Product();
$p->name='Bread';
$p->price=0.5;
$p->images=array('loaf1.jpg','bakery.jpg');
$p->description='Our premium diet bread.';
$p->save();
Vedi cosa ho fatto lì? Quella classe funge da modello per un negozio. Cosa c'è di così speciale oltre a OO? Se la tabella o qualsiasi colonna non esiste, viene creata in modo dinamico. 0 script di installazione. Certo, questa è una caratteristica specifica nel mio framework. Ma hai avuto l'idea.
$p=new Product($the_id); $p->load();L' load()unione è alla fusione di una riga invece di sovrascrivere l'intera riga.
Non tutte le applicazioni richiedono un framework, ma la maggior parte di quelle conseguenti lo fanno.
I vantaggi sono:
Gli svantaggi sono:
Tutto sommato, è meglio usarne uno.