I framework sono necessari in PHP? [chiuso]


9

I framework sono davvero necessari in PHP?

Quali sono i vantaggi e gli svantaggi dell'utilizzo di uno?


2
Di recente mi sono imbattuto in questo post SO che sembra piuttosto approfondito sull'uso di PHP senza un framework stackoverflow.com/questions/3655145/…
Matt Molnar

Risposte:


17

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.


1
ma il problema è che giorno dopo giorno ci sono molti framework che non so quale usare
Tayyab Gulsher Vohra,

4
@Tayyab Devi usarli tutti!
Arnis Lapsa,

1
La scelta di un framework dipende da te, in base alle esigenze della tua applicazione e al tuo stile di codifica. Chiediti anche, hai bisogno di un framework per creare la tua app o un CMS (Joomla, Drupal, ecc.)?
Darren Newton,

2
Devi stare attento alle "incognite sconosciute". Se non usi un framework, il rischio di dimenticare o non conoscere alcune cose che i framework risolvono per te è grande. Ad esempio, hai a che fare correttamente con la prevenzione degli attacchi CSRF? La tua app funzionerà senza tale prevenzione, ma sarà facilmente compromessa. Scegliere un framework principale (uno qualsiasi di essi) significa trarre vantaggio da tutto ciò di cui le app Web devono occuparsi, anche se non ne hai ancora imparato.
Joeri Sebrechts,

9

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:

inserisci qui la descrizione dell'immagine


7

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 ragazzi sono un biginner e sto provando a scrivere il codice sono nuovo e voglio essere uno sviluppatore principale di php quindi per favore ragazzi suggeritemi
Tayyab Gulsher Vohra

3
L'articolo è del 2006 ed è imbarazzantemente obsoleto.
Jonathan Rich

1
@JonathanRich: quell'articolo potrebbe anche non essere aggiornato, ma è comunque imbarazzantemente interessante!

4

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.


1
beh, sono un principiante in php e non ho ancora sviluppato nulla di grande e devo confondere cosa usare e per cosa dovrei andare davvero sono totalmente in bianco
Tayyab Gulsher Vohra

Il primo passo sarebbe non usarli, apprendere le tecnologie e come funzionano (php, framework, js, css, ecc.), Quindi una volta comprese le basi della programmazione php, quindi utilizzare un framework come Zend o Symfony o CakePHP per imparare come potenziare le tue applicazioni
guiman,

2

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.


Voglio dirti alcune cose ragazzi, in realtà sto usando 2 framework, uno è codeigniter e l'altro è yii e voglio diventare uno sviluppatore principale, ma i miei concetti di OOP non sono così buoni, la verità è che.
Tayyab Gulsher Vohra,

Come si fa a distinguere tra un'istruzione 'UPDATE' e 'INSERT' nel metodo $ p-> save ()?
Srisa,

@Srisa - Non ho impostato un ID. Per fare un AGGIORNAMENTO, ho bisogno di: $p=new Product($the_id); $p->load();L' load()unione è alla fusione di una riga invece di sovrascrivere l'intera riga.
Christian

2

Non tutte le applicazioni richiedono un framework, ma la maggior parte di quelle conseguenti lo fanno.

I vantaggi sono:

  • Non ripetere te stesso : ogni nuova applicazione avrà funzionalità in comune con molte applicazioni esistenti. Ha senso evitare di ripetersi. Un framework raggruppa le funzionalità necessarie per la maggior parte delle applicazioni. Di conseguenza risparmierai tempo (e denaro).
  • Non trascinarti : lo sviluppo del software in generale può essere abbastanza doloroso. Ha senso automatizzare le cose banali. Una struttura si occupa dell'idraulica, quindi puoi concentrarti sull'essere profondamente creativo. Di conseguenza risparmierai sforzo (e denaro).

Gli svantaggi sono:

  • A modo nostro o in nessun modo - Potrebbe essere necessario seguire le rigide convenzioni della struttura, che potrebbero contravvenire alle tue convinzioni dogmatiche su come le cose dovrebbero essere fatte (e di conseguenza farti arrabbiare).
  • Sindrome del framework acquisita - Potresti diventare troppo dipendente dai framework per fare anche le cose più semplici. Dimenticherai come instradare le richieste, accedere ai database, mappare gli oggetti alle query del database, ecc. Poiché il framework ti tiene tutto sotto controllo.

Tutto sommato, è meglio usarne uno.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.