Quando devo usare un framework? [chiuso]

15

Sono nuovo nella programmazione web e in questo momento sto imparando a conoscere PHP. Mi piacerebbe sapere quando devo usare un framework PHP come CakePHP? Quali sono le cose che questo e altri framework PHP simili offrono per me? Ed è davvero importante usare un framework per essere un professionista?

  • E posso creare il mio framework per fornire le funzionalità che mi piacciono?
posta Goma 26.11.2010 - 14:54
fonte

9 risposte

11

Quando sei a tuo agio con PHP, puoi iniziare a utilizzare un framework. E dovresti sempre usarli:

  1. È molto, molto più veloce di ricodifica tutto
  2. Semplifica le modifiche, come cambiare database o cambiare vista
  3. Lavorare con altre persone lo farà essere anche più facile, come lo sono spesso usato per i quadri del pattern MVC usare

Puoi creare il tuo framework personale, ma sicuramente non lo consiglierei. È complicato, ci sono già molti buoni framework là fuori, e non è probabile che troverai una funzionalità mancante. Inoltre, forniscono spesso dei modi per aggiungere le proprie funzionalità a loro, senza doverne creare una completamente nuova.

    
risposta data 26.11.2010 - 15:16
fonte
10

Costruisci poche pagine senza un framework ... in pratica inizierai a scrivere il tuo framework per tentativi ed errori. Dopo averlo fatto, spostati in un framework e goditi quanto tempo risparmia. Cercando di costruire il tuo framework puoi insegnarti alcune cose e ti aiuterà ad apprezzare i framework che sono già disponibili.

Quando sono entrato in PHP per la prima volta, pensavo che le strutture fossero una perdita di tempo complicata. Ora, utilizzo CodeIgniter anche per progetti semplici. Ci vuole circa 1 minuto per iniziare e hai già a disposizione un sacco di ottime librerie. E, come menzionato un precedente manifesto, la maggior parte dei framework sono estensibili, quindi puoi sempre aggiungere qualsiasi funzionalità tu voglia.

    
risposta data 26.11.2010 - 22:45
fonte
5

Come Niphra ha detto , iniziare a utilizzare un framework solo quando è possibile utilizzare PHP senza un framework (ovvero, accedere al database, inviare intestazioni e contenuto, elaborazione di stringhe, manipolazione di dati, ecc.). Per quanto riguarda le tue domande:

  • Quando devo usare un framework PHP come CakePHP? Quando il tuo progetto cresce oltre alcuni file PHP; nel momento in cui inizi a separare strongmente la logica in elementi distinti e la funzionalità di modularizzazione / condivisione (sessioni, ecc.) è quando devi usare un framework.

  • Quali sono le cose che questo e altri framework PHP simili offrono per me? Abstraction ; invece di interagire direttamente con il database è possibile utilizzare un Object-Relational Mapping (ORM) per gestire la struttura e le relazioni tra i dati nel database. La maggior parte del framework in molte lingue fornisce ORM per facilitare l'interazione con il livello di database dell'applicazione. Allo stesso modo, i framework spesso separano gli strati di risposta all'interazione dell'utente. La separazione più comune è il paradigma Model View Controller (MVC), che, per essere breve, astrae la logica del database nel modello (un'interfaccia per l'ORM, in molti casi), l'elaborazione delle richieste e l'interazione con i modelli nel controller e il rendering del vero HTML / PDF / immagine / ecc. nella vista. I framework spesso forniscono altri strumenti come il routing (per consentire l'elaborazione complessa dell'URI della richiesta (EG: mappatura della richiesta " link " a il controllore Users, che quindi cerca l'utente Model con l'ID di 1) e un'astrazione di sessioni e altre strutture di base.

  • Ed è davvero importante usare un framework per essere un professionista? Non necessariamente; le strutture rendono la vita più facile; ma non devi usarne uno per essere un professionista. I framework forniscono astrazione e standardizzazione a portata di mano, ma nella maggior parte dei casi non sono un requisito.

risposta data 26.11.2010 - 20:59
fonte
2

Dopo aver letto alcune risposte, vorrei innanzitutto dire che non si ha spesso molta scelta su quale framework si intende usare o se si intende usarne una o meno (come professionale). Non voglio intimidirti, ma dovrai sviluppare una conoscenza di PHP sufficiente a consentire lo spostamento da un framework a un altro e utilizzare più di un framework contemporaneamente.

when do I need to use a PHP framework such as CakePHP?

Non c'è una risposta universale a questo. Come professionista, avrai il compito di risolvere problemi specifici e questo sarà il fattore decisivo per quando e cosa è di ogni progetto, soprattutto se un cliente ha una domanda specifica. Ma in generale, utilizzerai sempre qualche forma di framework con PHP, a meno che tu non stia modificando o estendendo un'applicazione preesistente che abbia il proprio framework (come Wordpress o PHPBB).

What are things that this and other similar PHP frameworks offer for me?

Come detto da dirk, offrono l'astrazione. Ciò significa che adottano procedure comuni e in più fasi e cercano di renderle il più semplici e snelle possibili. In breve, cercano di presentare soluzioni just-add-water per attività comuni.

And is it really important to use a framework to be a professional?

In generale, non è importante per utilizzare un framework per essere un professionista. Ma realisticamente, non avrai molta carriera se non hai familiarità con almeno un paio di schemi comuni. PHP senza un framework è come C ++ senza una libreria std. Non ne hai bisogno, e puoi effettivamente fare di più senza di esso poiché utilizzerai direttamente la funzionalità di blocco di livello inferiore del linguaggio, ma ci vorrà molto più tempo per fare la stessa cosa.

And can I create my own framework to provide the features I like into it?

Sì. In effetti, probabilmente finirai per farlo anche se involontariamente. Con questo non intendo un ampio quadro generale, ma più simile a una borsa degli attrezzi di funzioni e script di base che svolgono compiti non abbastanza comuni o generici da essere gestiti dalla struttura media. Il mio è fondamentalmente costituito da vari file system, gestione dei processi e rex-ex tid-bit con alcune diverse utility curl e stream / socket.

    
risposta data 04.02.2014 - 06:48
fonte
1

Comuni da una persona che ha passato anni ad hackerare i miei modi per parlare con un database e parlare con le API online e sto solo ora iniziando a usare i framework, li usa quando hai almeno una comprensione di quello che fanno, se è possibile.

Non saltare immediatamente per RedBean quando lavori per la prima volta con un database, lavora prima con il DB manualmente. In questo modo hai una conoscenza approfondita di ciò che stai facendo e che stai facendo al DB, che può davvero aiutare con la scalabilità. Puoi anche creare la tua soluzione quando il framework che usi non fa qualcosa che devi fare.

Una volta capito cosa sta succedendo, usa un framework! Rende le cose molto più semplici. La pazzia con l'archiviazione di una query e il looping dei risultati con mysql_fetch_assoc è finita, ridotta a una sola chiamata: $book = R::load( "book", $id ) . Sarai molto più produttivo e potrai risolvere bug futuri o aggiungere funzionalità future molto più facilmente.

    
risposta data 26.11.2010 - 16:38
fonte
1

Usa un framework quando conosci le tecnologie di base abbastanza bene da sapere cosa fa il framework per te e perché è buono (o cattivo).

Un framework è una specie di meta-strumento, che ti consente di lavorare con i tuoi strumenti (lingua, database) un po 'più velocemente senza dovermi preoccupare di alcuni dettagli di ciò che stai facendo, il che è positivo se tu conosci davvero i tuoi strumenti.

Quello che NON VUOI essere successo è che impari il quadro invece degli strumenti, e diventi canalizzato in un certo modo di fare le cose, e finisca per non prendere realmente una padronanza dei linguaggi e dei concetti sottostanti dovrebbe essere uno strumento, non una stampella.

    
risposta data 22.11.2011 - 18:23
fonte
0

Quando ti ritrovi a fare la stessa cosa più e più volte, guardati intorno e vedi se c'è un framework che fa la stessa roba ridondante che avresti finito per fare da solo. Non usare solo un framework a causa del clamore. Personalmente mi piace CodeIgniter e Rasmus Lerdorf "framework MVC senza framework PHP" link

    
risposta data 05.06.2012 - 23:06
fonte
-1

Suggerirei di riflettere attentamente sul motivo per cui usereste framework x, y o z. Ogni framework non fornisce solo funzionalità, non è necessario implementare te stesso, ma anche un modo di pensare. Basta guardare Spring, JEE, Rails o Django. Quattro framework che forniscono abbastanza per calpestare un'applicazione web in un breve lasso di tempo.

Ma tutti e quattro promuovono il loro modo di pensare su come le app web dovrebbero essere costruite. Se ciò non si adatta alle tue esigenze o si adatta al tuo gusto, ti sarà difficile continuare ad andare oltre.

Questo è stato un paragone molto radicale, ma forse costruire una piccola biblioteca si adatta meglio alle tue esigenze. Ma conoscere i framework ti aiuterà sicuramente a lavorare in team più grandi o a trovare nuovi posti di lavoro, poiché ciò dimostra che sei interessato allo sviluppo del software nel suo complesso.

    
risposta data 06.06.2012 - 09:29
fonte
-2

I framework sono sempre buoni da usare sin dall'inizio. Promuove l'usabilità del codice, una migliore leggibilità e consente di risparmiare un po 'di tempo di sviluppo.

Non ho molta esperienza con PHP, ma vorrei incoraggiare qualsiasi utilizzo del framework.

    
risposta data 06.06.2012 - 09:03
fonte

Leggi altre domande sui tag