Tendo a suddividere i controllori in base alla loro responsabilità verso una sezione specifica di un sito/applicazione. Ciò rende il mantenimento del codice molto più semplice. Inoltre, raggruppo i controller (e le viste, i modelli) all'interno dei moduli (cartelle). Ecco un esempio di un progetto in corso su cui sto lavorando:
- Blog
- Messaggi
- Commenti
- Categorie
- Impostazioni
Più un sito è complesso, più moduli utilizzo. Sebbene la maggior parte dei miei moduli contenga solo un controller 'Index', mi piace l'organizzazione che forniscono.
Quindi utilizzo un router (front controller) che associa un URI di stile REST al modulo/controller/azione appropriato. Es: mysite.com/blog/posts/view/7 chiamerebbe Controller_Posts :: view (7) dal modulo "blog". Un ulteriore vantaggio dell'utilizzo dei moduli è che posso avere URI più specifici rispetto a se non avessi moduli. Anche se suppongo che potrebbe essere risolto utilizzando un router che supporta la definizione di percorsi personalizzati, ma non mi piace troppo.
Come molte altre cose, si riduce a quello con cui sei a tuo agio come sviluppatore, ma probabilmente possiamo essere d'accordo sul fatto che più organizzazione hai, meglio è, finché non complichi le cose .
Per un breve accenno, consiglierei di utilizzare un framework. Capisco se non vuoi usare già uno di quelli là fuori, come ho evitato anche quelli. Ho finito per scrivere il mio, che per l'anno scorso mi ha servito molto bene. È stata una grande esperienza di apprendimento e contiene solo ciò che I desidera/necessità. Detto questo, potresti voler esaminare Kohana e CakePHP - non sono IMO eccessivamente gonfiati e ti faranno sicuramente risparmiare tempo se decidessi di non scrivere il tuo.
fonte
2009-09-29 02:50:05
Perché vuoi evitare un quadro? Mentre alcuni sono restrittivi (fallo * così *, o dovrai farlo a pezzi), alcuni sono abbastanza flessibili (scegli e scegli quello che vuoi). –
beh, voglio principalmente evitare perché ho la libertà e il tempo per implementare il mio, e mi piacerebbe davvero avere un'esperienza di base con uno prima di iniziare a utilizzare un framework. inoltre ... non voglio più di quanto ho bisogno, in generale – johnnietheblack