Domanda

Ho iniziato a scrivere alcune applicazioni in PHP e sto acquisendo maggiore familiarità con la lingua. Qualcuno mi ha parlato di CakePHP e CodeIgniter. Volevo capire meglio come questi potrebbero aiutarmi e se vale la pena spendere il tempo per imparare un quadro?

È stato utile?

Soluzione

Quali sono i vantaggi dell'utilizzo dei framework MVC PHP?

Bene, ci sono molti vantaggi nell'utilizzo dei framework PHP, vediamo alcuni dei principali vantaggi dell'utilizzo di essi.

  1. Questi framework PHP seguono un modello di progettazione, quindi quando usi un framework devi seguire la loro convenzione di codifica, che rende il tuo codice pulito ed estensibile per scopi futuri.
  2. I framework PHP popolari come CakePHP, CodeIgniter, Zend Framework, Symfony seguono il modello di progettazione di Model View Controller (MVC) che separa la logica aziendale dall'interfaccia utente, rendendo anche il codice più pulito ed estensibile.
  3. Come tutti possono immaginare, questi framework contengono molte librerie per semplificare il tuo lavoro. Ad esempio: per convalidare un modulo non è necessario scrivere tutto il codice necessario nello scenario di codifica normale (senza utilizzare un framework), di solito bastano poche righe di codice che chiamano la libreria.
  4. Mentre si lavora su un grande progetto in un team, un framework MVC PHP sarà un ottimo strumento di sviluppo in quanto è possibile assegnare uno sviluppatore allo sviluppo di una parte di un modulo per uno sviluppatore e l'integrazione sarà piuttosto semplice di questi moduli sviluppati al livello finale.
  5. Questi framework MVC ti aiutano davvero a sviluppare rapidamente il progetto, se conosci bene un framework non ti preoccuperai mai della scadenza del progetto.
  6. La maggior parte di questi framework MVC utilizza un chiaro approccio url che rende il tuo progetto web SEO friendly.

controlla articolo

Altri suggerimenti

La mia filosofia è che dovresti usare qualcosa solo quando risolve un bisogno che hai attualmente.

C'è una vera tendenza, in particolare in questo regno, ad usare semplicemente un framework per il gusto di usarne uno o perché senti di dover usare qualcosa. Scoraggio di tali pratiche. Anche i framework che ritengo abbiano il maggior valore quando hai fatto le cose nel modo più duro, così hai una buona comprensione di quali problemi hai e come il framework può aiutarti in quella situazione . La scelta del quadro dipende dalla situazione.

Detto questo, il modello MVC con applicazioni Web è utile, quindi sicuramente non ti farebbe male imparare almeno uno. Attaccherei comunque a un quadro abbastanza minimalista. Qui viene in mente CodeIgniter.

Infine, l'altro pericolo con i framework è che possono essere così invasivi che non stai più facendo PHP, stai facendo CakePHP, Symfony o altro. Questo non è necessariamente un problema, ma il pericolo in quanto è così invasivo è che non hai una buona base in PHP e se mai vuoi cambiare sarà semplicemente troppo difficile che non sarai mai in grado di farlo.

Uno dei grandi vantaggi dei framework PHP è che minimizzano il reinventare la ruota in un gran numero di esigenze di applicazioni web comuni. Problemi di sicurezza, gestione delle eccezioni, URL RESTful e riusabilità del codice nel tuo sito sono considerazioni abbastanza universali.

Potrebbe essere più semplice familiarizzare con gli strumenti di un framework e quindi vedere se si desidera acquisire il sistema MVC completo che supporta. A tal fine, suggerirei di familiarizzare con Zend Framework. ZF funziona come una libreria di classi che può essere implementata individualmente per usi particolari - dalla sicurezza alla ricerca di Lucene - ma contiene classi che, se usate insieme, implementano un paradigma MVC pienamente definito.

voglio solo raccontare la mia esperienza nella programmazione, Sono ancora novellino

  1. innanzitutto usando framework ti abituerai al loro stile / regola di codifica, il che è positivo perché la maggior parte del framework è profondamente pensata su come scrivono il loro codice. in breve ottengo uno stile migliore e un codice più pulito
  2. Di solito il framework viene fornito con molti arsenali (plug-in e / o librerie), che puoi trovare su Internet, questo ridurrà il tuo tempo di programmazione, ridurrà i tuoi sprechi. In breve, puoi fare il tuo tempo prezioso pensando al processo aziendale
  3. con l'utilizzo del framework open source, ci sono altri programmatori che già conoscono e probabilmente padroneggiano il framework, quindi puoi facilmente collaborare con gli altri.
  4. in verità non sono un programmatore ben organizzato, ma era prima di usare un framework open source. forse come me diventerai più organizzato

Questo è tutto ciò che posso condividere con te per ora, non sono bravo a scrivere in inglese, mi dispiace per quello. ma il punto è che ti consiglio di usare framework

Felice amico di codifica.

Penso che sia senza dubbio un buon investimento passare il tempo ad imparare un framework PHP. Per uno, ti insegnerà come qualcuno ha affrontato il problema dell'architettura del framework, come organizzare il tuo codice PHP e come gestire cose come sessioni e accessi al database ... ecc ...

Per la maggior parte, se sei seriamente intenzionato a sviluppare app web, dovrai usare un framework di qualche tipo piuttosto che scrivere il tuo framework da zero.

Alcuni motivi per cui NON dovresti scrivere il tuo framework:

  1. Stai reinventando la ruota, quando è già stata ripetuta molte volte.
  2. Non è molto probabile che tu faccia un lavoro migliore di un framework open source, che è stato testato e ripetuto da molti sviluppatori.
  3. Trascorrerai tutto il tuo tempo a scrivere e eseguire il debug del tuo framework di quanto spendi realmente per creare la tua applicazione.

Quindi sì, impara un paio di framework e trova quello più adatto a te!

Diclaimer: NON sono un programmatore php e non ho mai scritto un'applicazione php. D'altra parte, ho installato, personalizzato e usato molti cms php per il mio sito e i miei carrelli della spesa.

Secondo me php soffre di gravi problemi. Il più grande è che "framework" sembra essere una parola straniera per quasi tutti i progetti grandi e persino di successo. Il codice php tende a diventare rapidamente insalata di spaghetti: spaghetti html mescolati con spaghetti code e spaghetti sql.

osCommerce, uno dei carrelli di maggior successo di sempre, è per lo più non stampabile. Ciò vale anche per la grande maggioranza dei progetti php.

Se dovresti usare un framework per il tuo progetto, dico di sì! Decisamente! Non importa quanto sia grande il tuo progetto, l'utilizzo di un framework Web ti aiuta a mettere in ordine il tuo codice e scrivere codice gestibile.

Ha anche un impatto sul tuo stile di programmazione anche quando non stai usando un framework.

L'uso di MVC-framework renderà il tuo sviluppo più semplice. Soprattutto applicazioni relative al database. Ti fornisce una struttura di cartelle cristallina e molte librerie di codici. Vorrei suggerire di iniziare da CodeIgniter.

I frame sono fantastici quando hai un team di sviluppatori che lavora allo stesso progetto. Il controller MVC integra perfettamente il designer + programmatore. Tuttavia, creando "quotato come un framework" elementi e "reinvenzione" la ruota non è una cattiva idea. Se stai lavorando a un grande progetto, è meglio sporcarsi con il tuo codice e personalizzare TUTTO secondo le tue esigenze. Diventerà un prodotto più forte in quanto sarà sviluppato interamente per il progetto.

Il seguente post è in risposta a un thread che è stato immediatamente chiuso mentre stavo scrivendo la mia risposta al post di RenderIn all'indirizzo: https://stackoverflow.com/questions/3265509/what-are-the-benefits-of-using-a-programming-framework . Il thread è stato chiuso e nei commenti è stato inserito un link che lo indirizza qui, quindi cercherò di rispondere alla sua domanda qui. Tra virgolette è quello che stavo per inviare:

" Permettimi di consigliare Joomla! a te e alla tua organizzazione. Al mio ultimo datore di lavoro, ho dovuto raccogliere PHP (non avendo alcuna esperienza precedente con esso), e dopo circa un mese e mezzo dopo aver eseguito la codifica manuale di PHP, mi è stato assegnato il compito di programmare un Joomla! componente che servirebbe a fornire video agli utenti. Ho anche dovuto creare un backend che consentisse agli amministratori non tecnici di classificare, modificare, eliminare, ecc., I video e fornire loro miniature, ecc.

Ora per ottenere un prototipo funzionante per questo, ci sono voluti circa due mesi (ero un tirocinante all'epoca e lavoravo solo 20-24 ore alla settimana, quindi se hai abbastanza esperienza PHP e esperienza con Metodologia di sviluppo MVC, probabilmente avresti potuto ottenere un prototipo funzionante molto più velocemente di me). & Quot;

Ora in risposta all'OP di QUESTA discussione: Trascorrere del tempo per imparare un framework è sicuramente utile (non l'ho visto menzionato qui fino al mio post, quindi lo dirò di nuovo: per un framework PHP consiglierei Joomla!).

Alcuni dei vantaggi dell'apprendimento di un framework (uno open source come Joomla!):

  • Un'enorme comunità di persone che possono aiutarti a rispondere alle tue domande (oltre a stackoverflow; lol)
  • Accesso a TUTTO il codice sorgente, in modo da poterlo personalizzare nel modo desiderato.
  • Molti plug-in di terze parti gratuiti (e a pagamento) per migliorare la funzionalità.
  • Molti tutorial.
  • I framework si occupano di eseguire automaticamente molte attività banali.

In riferimento al quarto punto: Joomla! si occupa di cose per te come la gestione della connessione al database e in modo tale da non doverti preoccupare di creare tutte le tue funzioni personalizzate per collegarti al tuo database MySQL o restituire diversi tipi di risultati del database (ad esempio un record, il primo risultato del primo record, elenco di record, ecc.), è sufficiente effettuare chiamate alle loro. L'API di Joomla! È apertamente disponibile sul Web sul loro sito: http://api.joomla.org/

Ad ogni modo, si spera che questo aiuti RenderIn e chiunque si stia chiedendo dei framework (specialmente quelli relativi a PHP).

Un framework per me è un buon strumento per accelerarti e risparmiare tempo per il tuo bene, ma non vuoi perdere tempo a rifarlo, non perché vuoi risparmiare tempo che non hai ' so quanto costa. Pagherai per questo se lo fai.

Per me il framework è buono se sei già un programmatore di esperienze e hai il tocco o la sensazione di sapere come funziona il framework approssimativamente di seguito (approssimativamente non esattamente) e hai la certezza di dirti se voglio ricreare l'ordinamento come semplificare questo framework. Quindi un framework è un'auto espressa per te e non ti causerà dolore se vuoi fare qualcosa per cui il framework non è pronto o qualcosa di insolito o di altre cose strane.

Se non lo fai, è meglio provare a risolvere il tuo problema usando il semplice vecchio PHP e passare attraverso il dolore di suonare la lingua a portata di dito, e conoscere prima le buone pratiche di programmazione, il paradigma e il modello. Altrimenti sarai uno di quei neolaureati che si uniranno a un grande team e il loro primo progetto sta lavorando a un progetto con un framework molto potente che richiede molto meno codifica e più sulla configurazione e patching. Non sarai mai un buon programmatore e non puoi creare una buona applicazione PHP da zero.

Come se fossi in un'organizzazione che utilizza un framework complesso?

Trascorri un po 'del tuo tempo per risolvere il problema in modo semplice in questo caso PHP fino a ottenere il tocco di quello che ho menzionato sopra. Altrimenti, non troverai mai la tua sicurezza nella programmazione e continuerai a dire a te stesso, "So solo che quelli sono i passaggi che sono il modo di farlo". Questa non è programmazione (un po 'estrema :)).

Complex vs. Simple Framework

Alcuni dei framework, sebbene utilizzati da molti, sono solo travolgenti. Ci sono troppi livelli di cui perderai traccia. Quei framework sono generalmente per qualcosa che è stereotipo, molti file di configurazione e se vuoi fare qualcosa di insolito, è meglio essere il framework writer (un po 'esagerato qui :)). Non voglio menzionare alcun nome qui, ma lo saprai quando ne incontrerai uno.

CodeIgniter è un prodotto del team EllisLab e il loro prodotto principale è Expression Engine sviluppato con CodeIgniter.

Dopo qualche tempo di utilizzo di CI ho scoperto che l'uso di Yii Framework è più conveniente. Ha molte estensioni. E non è così difficile da capire con buoni documenti.

CakePHP, credo, vicino a CodeIgniter.

Consiglio vivamente di usare un framework per qualcosa di più di un semplice script. A volte può sembrare eccessivo, ma direi che non lo è. Ho avuto alcune occasioni in cui pensavo di non averne bisogno (app semplice, CRUD di base in 3 tabelle db).

Poco dopo, mi sono ritrovato a fare manualmente mysql_escape_string, filtro XSS e così via. Da quel momento in poi, scrivo codice non-framework solo quando penso che l'installazione richiederà più del codice funzionante. E questo accade molto di rado.

Se dovessi raccomandare un framework PHP, dovrei scegliere CodeIgniter o Yii Framework, a seconda della complessità del tuo progetto.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top