framework PHP - dovrei usarli? [chiuso]

1

Prima di tutto lasciami spiegare chi sono: sono uno sviluppatore PHP che lavora per un'azienda che sviluppa il proprio CMS che gestisce negozi online, feed di dati e altri contenuti come i blog. Ho programmato per 6 anni e 4 di quelli sono stati in PHP. (Ero uno sviluppatore C #).

La mia domanda riguarda i framework PHP. Vedo così tanti lavori che richiedono zend, cakephp e altri tipi di framework MVC. Tuttavia, anche se sviluppatore esperto non ho mai usato un framework PHP. Dovrei iniziare ad imparare? Se è così, dove comincio, anche se ce ne sono così tanti.

Sto per riscrivere gran parte del CMS del mio lavoro e mi chiedo se potrei aiutarmi molto usando un framework. Cosa pensano le persone? Considerando che scriverò di nuovo molte cose del negozio online ... Sono esperto in OO e ho usato il framework .NET in passato.

Grazie in anticipo per le risposte.

    
posta 30secondstosam 22.11.2012 - 23:04
fonte

6 risposte

7

In generale, un framework è uno strumento che ti aiuta a ad evitare di reinventare la ruota , diventando così più produttivo. In un caso particolare di PHP, un framework è anche un modo per astrarre e nascondere alcune stupidaggini e incoerenze dello stesso PHP, mentre ha un effetto collaterale per incoraggiare alcune persone a aderire alle migliori pratiche in un contesto in cui il linguaggio stesso incoraggia un codice scritto in modo scadente, malamente architetturale.

Quindi sì, un framework PHP è sicuramente una cosa che dovresti imparare se vuoi essere qualificato come programmatore PHP con esperienza, mentre la scelta di usarlo o meno dipende da te per ogni progetto su cui lavori.

where do I even start as there are so many?

Impara due o tre popolari. Una volta che li conosci abbastanza bene, non sarebbe difficile:

  • Per sapere quale dovrebbe essere adatta a una particolare esigenza per un determinato progetto,

  • Per scoprire rapidamente quelli meno popolari e vedere in quali situazioni sarebbero più preziosi rispetto a quelli che già conosci.

risposta data 22.11.2012 - 23:44
fonte
4

Mi sembra che la scelta di usare PHP ti porterà a utilizzare la struttura di qualcun altro oa costruirne una.

"L'inferno del framework" è un problema molto reale (o una serie di problemi correlati) che non sono esclusivi di PHP, e non ci sono framework "silver bullet". In breve, tutti i framework sono soluzioni al 90% alla fine; I primi progressi nello sviluppo con un framework saranno quasi sempre più veloci che senza. Ottenere l'ultimo 10% del modo sarà (a) veramente difficile o (b) consistere principalmente nel cedere e lasciare vincere il framework, e decidere alcuni elementi o limitazioni del tuo design.

Dico tutto quanto sopra senza dire che qualsiasi struttura è grande, o cattiva. Una domanda del genere è senza risposta. Prova un framework su un piccolo progetto o una piccola parte del tuo grande progetto e verifica se è adatto. Preparati a calciarlo sul bordo del marciapiede se ritieni che non funzioni per te.

Ci sono abbastanza framework per PHP che potresti probabilmente valutarli per sempre. Ma prima o poi ne troverai uno abbastanza vicino. Abbastanza vicino è sufficiente per Rock and Roll e molti siti Web PHP.

    
risposta data 23.11.2012 - 01:49
fonte
2

Ciò che i framework Web fanno è il wrapping di tutta la roba richiesta-risposta-cookie-session in un'API. Quindi hai un'interfaccia facile con cui lavorare.

Alcuni hanno più batteria inclusa e forniscono le librairie per gestire moduli, database, convalida, ecc ...

La mia opinione:

  • se hai un sacco di codice legacy: scegli un micro-framework che ti aiuti a organizzare il codice php: slim, lavarelle, silex, ...

silex è fantastico poiché ti aiuterà a imparare Symfony allo stesso tempo.

Se hai tempo, impara grandi cose come ZF o Symfony.

Un quadro grande di solito significa uno stack completo . Ad esempio, imparare symfony significa apprendere Doctrine, Twig, Assetic, usando Composer, monolog, ... quindi le persone che ti assumono sanno che conosci tutte quelle cose.

    
risposta data 23.11.2012 - 08:33
fonte
1

I framework sono ottimi per ridurre i tempi di accelerazione. Utilizzando un pacchetto ben noto e seguendo le convenzioni di settore è la differenza tra uno sviluppatore nuovo al progetto che fornisce contributi significativi in ore rispetto a giorni o persino settimane.

    
risposta data 23.11.2012 - 02:49
fonte
1

Se dovresti 'imparare quadri' o no ... nessuno qui può dirti cosa dovrai sapere in futuro. Ho fatto il codice in PHP per oltre 10 anni e non ho mai avuto bisogno di usare un framework di terze parti. I tipi di progetti su cui lavoro non lo richiedono. Molti progetti rientrano in questa categoria.

Detto questo , è importante che tu capisca cosa stanno facendo i framework. Che lo fai imparando framework esistenti o creando il tuo ... questo è quello che dovresti davvero cercare. Non pensate che lavorerete in PHP o C #, ad esempio, tra 10 anni. Comprendere i concetti dietro i framework sarà ciò che ti porta avanti. Conoscere le specifiche del framework XYZ non ti aiuterà se non ti aspetti di essere bloccato nel tuo attuale stack tecnologico.

    
risposta data 23.11.2012 - 05:54
fonte
1

Come qualcuno che è stato recentemente nella stessa posizione, ti incoraggerei sicuramente ad andare con un framework. Quando ho iniziato a lavorare con la mia attuale azienda qualche anno fa, non vedevo il punto di usarne una - dopotutto ero l'unico sviluppatore in una piccola azienda. Avanzamento veloce di alcuni anni e ora sono responsabile di un team di sviluppatori e abbiamo un piccolo esercito di siti Web, app Web, progetti client, API, app social e CMS che supportano uffici in quattro paesi. Avere uno o due framework che tutti possono lavorare da una base ci rende molto più produttivi e rende più facile reclutare persone quando ne abbiamo bisogno. Ci consente inoltre di passare più facilmente da un progetto all'altro quando le scadenze si riducono o qualcos'altro viene fuori.

Il mio consiglio è di passare un po 'di tempo a provare alcuni framework. Prova a creare lo stesso sito relativamente semplice con versioni di base della funzionalità PHP di cui hai bisogno. Una volta superato questo problema con alcuni modelli, inizierai a farti un'idea di quali sono i tuoi bisogni e la tua personalità di programmatore.

    
risposta data 23.11.2012 - 07:09
fonte

Leggi altre domande sui tag