2010-04-13 15 views
12

Sto per iniziare un piccolo progetto di sito Web statico: nessun database o CMS richiesto. In sostanza, un sito web di brochure.Quando un progetto PHP è troppo piccolo per un framework?

Ho utilizzato il framework CodeIgniter di recente per sviluppare un'applicazione web in piena regola e mi chiedo se sia appropriato utilizzare anche l'elemento della configurazione per siti più piccoli e più semplici.

In genere per un sito di brochure statiche scriverei pagine PHP standard con alcune inclusioni per risparmiare sulla ripetizione (ad esempio HTML con una dispersione di PHP), ma questa volta mi chiedo se il mio nuovo amico CodeIgniter potrebbe essere in grado di snellire il processo di sviluppo.

È ragionevole considerare un quadro per un progetto così semplice o è eccessivo? Sono preoccupato che potrei essere il proverbiale falegname il cui unico strumento è un martello, e vede ogni problema come un chiodo!

risposta

1

Quanto è lungo un pezzo di corda?

Uso CodeIgniter (in particolare PyroCMS) per gli opuscoli di 5 pagine crappy ma che è puramente per consentire ai clienti di amministrare le proprie pagine facilmente con un WYSIWYG.

Qualsiasi cliente dirà "Wow, notizie, modulo di contatto e posso anche farmi un po 'di quel Twitter ?!" quindi lo scarico lì per risparmiare tempo.

Se stai sviluppando da zero non ha senso se il contenuto è statico. Qualcosa come CodeIgniter aiuta con l'interazione di DB, la convalida del modulo e la suddivisione di più pagine in blocchi logici i.e classi e metodi di controller.

Se non si dispone di contenuto db, non si gestiscono moduli e non si dispone di molte pagine, quindi non vi è alcun punto di littering che aggiunge l'overhead.

Detto questo, prova il mio Twiny framework per letteralmente il più piccolo framework MVC intorno a.

+0

Grazie Phil. Non ero troppo specifico sui requisiti specifici di questo particolare sito, ma fondamentalmente si riduce a circa 40 pagine di contenuto statico e 4 moduli. –

+0

OMG, mi ci sono voluti più di 2 anni per chiudere questo argomento! Ero un SO noob quando ho posto questa domanda, e non ho capito l'importanza di accettare una risposta utile. Comunque, grazie per una risposta utile :) –

+3

Ti ho odiato intensamente per gli ultimi due anni, ma ora possiamo essere amici. –

1

Se non è necessario un database, CMS ed è solo una semplice pagina HTML/css/PHP statica, non penso che si possa andare storto creando un sito senza un framework. Inoltre, se hai usato framework per un lungo periodo, puoi avere un'interruzione e fare "code for code" e avere un'idea di come codificare da zero :)

8

Penso che quasi mai, le esigenze cambino e vieni più con il tempo ... quindi è meglio avere una buona base usando un framework per aspettare i bisogni futuri. ma se il tuo progetto non avrà un lungo live time e le tue esigenze sono davvero semplici, penso che non sia necessario utilizzare un framework.

3

Personalmente non svilupperei mai un sito al di fuori di un framework per qualcosa di più di un sito di brocure. Lavoro molto più velocemente all'interno del framework.

Sono uno sviluppatore Python/Django ma ecco la mia versione.

Ho fatto alcuni piccoli siti non-framework con PHP e non so come i framework PHP si confrontino con DJango, ma se sono qualcosa di simile rimane il fatto che sono molto più esperto nello sviluppo di un framework che codificare qualcosa da zero a mano.

Mi aiuta a rimanere organizzato se non altro a darmi il VC dell'MVC. Django mi fornisce molti strumenti integrati, come la gestione dei moduli, che rendono la mia vita molto più semplice anche per i siti di piccole dimensioni.

Presumo che i framework PHP forniscano cose simili, forse no.

Inoltre, non è possibile prevedere come il sito crescerà nel tempo. È più semplice mantenere qualcosa costruito in un framework e, se in futuro avessi bisogno di estendere il sito, è bello avere una struttura dietro.

+2

Lo fanno ... In realtà trovo Django abbastanza "sciolto" con la struttura che impone ... un po 'troppo sciolto in effetti; Non mi piace abbastanza. Qualcosa come CakePHP che crede in Convention Over Configuration può davvero ridurre il tempo impostando i percorsi e decidendo i nomi dei modelli, la struttura delle cartelle e altre cose ... Django fornisce molti strumenti, ma ho trovato l'estensibilità molto migliore/più facile in Torta, mentre se hai bisogno di qualcosa di più in Django è più difficile da costruire in cima. Caso in questione, la classe User che ti obbliga a percorrere questa rotta "profilo", una separazione che trovo essere --- – mpen

+2

--- del tutto inutile e fastidioso. Ma ahimè, ha molti buoni punti di forza. Ad ogni modo, il punto è che i framework PHP sono utili per tagliare il tempo e fornire una struttura. Ognuno di loro ha i suoi punti di forza e di debolezza (Django ha un ORM IMO molto migliore). – mpen

+1

Anche l'organizzazione che descrivi (il VC di MVC) è ciò che mi attrae.Non ho lavorato con Django, ma CI ha certamente funzioni di helper HTML, classi di validazione dei moduli e altre cose che ti permettono di risparmiare tempo in un framework. –

0

Per un sito semplice come quello. perché persino usare un framework perché non usare qualcosa come concrete5. Eccessivo? decisamente. ma hey è facile e richiede quasi nessuna codifica quindi la manutenzione è un gioco da ragazzi.

Il sito potrebbe essere installato e funzionante in meno di un'ora e ti fa sembrare bello agli occhi dei tuoi clienti e questo non può far male.!

2

Dal momento che tendo ad ereditare strutture su misura o a scrivere il mio, lo collegherei a circa 3 pagine: se è di più, allora la creazione di un framework ne vale la pena. E se ha bisogno di un DB, allora le probabilità sono buone ti ritroveranno con più di 3 pagine, comunque. :-)

+0

Il sito sarà di circa 40 pagine, quindi per la tua defintizione è sicuramente abbastanza grande da trarre vantaggio da un framework. –

+6

Se si tratta di un sito, non di un'applicazione (cioè non di molta interazione dell'utente oltre alla visualizzazione delle pagine), raggiungo un CMS su un framework. Praticamente tutto ciò che vorresti implementare te stesso è già stato fatto per te. Il rovescio della medaglia è che ti senti meno come un programmatore e più come un addetto alla catena di montaggio, e di tanto in tanto ti imbatti in qualcosa che è doloroso fare come dice il CMS, ma lo sviluppo di solito è molto più veloce. – jergason

+0

Un framework può iniziare come un semplice posto in cui inserire funzioni e elementi di pagina comuni. – staticsan

0

Non penso che nessun progetto sia troppo piccolo per un framework, penso che alcuni framework siano troppo grandi per i piccoli progetti. Tutti sperano che il loro sito web cresca.Quindi, non importa quanto piccolo sia il sito ora, la crescita sarà più facile da gestire se inizi con un framework.

2

Raccomando Rapyd, un "framework PHP minimalista e rapido".

0

L'unico caso in cui il framework sarebbe un overkill è con uno script di eliminazione, ad esempio quando è necessario automatizzare rapidamente qualcosa che non sarà necessario ripetere mai. Per tutto ciò che entrerà nel ciclo di esecuzione più di poche volte il framework è probabilmente sarebbe meglio.

0

Se richiede meno ore di lavoro, allora è piccolo. Ad ogni modo se si prevede di dedicare più di "diverse ore" - utilizzare definitivamente un framework AND un sistema di revisione del controllo.

0

Dipende. Se sei sicuro, questo è tutto il sito su cui stai lavorando, o la migrazione quando sorgono esigenze future, quindi non riesco a capire perché ci sarebbe un motivo per usare un framework, a meno che non ti senta più a tuo agio a lavorare con uno .

Come esempio personale, di recente ho lavorato a un sito Web semi-statico, per il quale ho creato un framework minimo che ha funzionato come preprocessore della cache per html statico, inserendo elementi html comuni in posizioni preimpostate. Ciò consentiva di avere alcuni contenuti dinamici, ma utilizzava ancora solo HTML statico per i contenuti.

Direi che la risposta si trova all'interno di una formula composta da esigenze di sviluppo future, dalle proprie preferenze di lavoro e dalle prestazioni.

1

sito non è mai piccolo, se il cliente è lì che potrebbe voler chiedere di aggiungere ulteriori funzionalità in qualsiasi momento :)

Problemi correlati