2010-04-18 13 views
6

Ho iniziato a imparare la programmazione OO, ma utilizzando il linguaggio PHP con l'aiuto del libro "PHP 5 Objects, Patterns, and Practice". Il fatto è che desidero imparare a utilizzare nello stesso tempo il framework CakePHP che utilizza molto il pattern MVC. Poiché non conosco molto su OO e meno su MVC, desidero capire l'ultima, ma le supposizioni che faccio con le mie conoscenze OO potrebbero avere un impatto negativo a lungo termine.apprendimento OO con PHP

Qualcuno sa un buon tutorial su cosa significa MVC (più di quanto dice il manuale di cakephp a riguardo, ma più facile da leggere/capire di wikipedia)?

TY

+1

ho trovato quel libro particolarmente inutile, forse vale la pena leggere fianco a fianco con webstuff/altro libro – Haroldo

+1

@Haroldo, quale libro su PHP OO ha fatto il lavoro per te e quali sono gli aspetti negativi di questo approccio al libro? Sono al Capitolo 4 e non posso ancora lamentarmene. –

risposta

8

Here is an excellent PHP MVC tutorial on phpro.org to get you started.. Ho avuto problemi con il pattern di progettazione MVC, ma dopo aver letto questo tutorial, ho imparato così tanto che ho continuato a creare my own PHP MVC framework. (e sì ho re-inventato la ruota ma indovina un po ', ho imparato un looooot e quella era la mia ragione principale).

Anche se si sta già leggendo un libro relativi a PHP OOP, ma ancora ti consiglierei di andare questo great OOP tutorial at phpfreak

0

si ha realmente bisogno di capire prima di OOP particolari paradigmi della progettazione OO come MVC. Inoltre suggerirei di usare ruby ​​o java per imparare OOP poichè l'OOP di PHP è piuttosto cattivo nella sua sintassi.

+0

MVC non è un paradigma di progettazione OO, ma può anche essere applicato a linguaggi procedurali senza funzionalità OO. Anche il tuo commento su php è puramente soggettivo e non utile. – elias

+0

Chiedete agli sviluppatori PHP e anche loro vi diranno che non gli piace la sintassi OO. – ewanm89

+0

Sono d'accordo. La sintassi OOP in PHP è terribile. –

5

Se stai solo cercando di scoprire di più su MVC, perché non checkout di un libro sul design pattern ? Poiché MVC è solo un modello di progettazione, la maggior parte dei libri di pattern lo conterrà e molto altro. I libri di modelli di progettazione sono una buona lettura se stai iniziando anche su argomenti di OO. Puoi effettuare il checkout allo Martin fowlers online pattern catalog o acquistare un libro come Headfirst design patterns

+1

modelli di design a testa in testa è un libro fantastico – Galen

0

PHP ha un modello OOP molto scadente. Se vuoi imparare OOP, meglio iniziare con Java semplice e pulito, e se vuoi rockare il rotolo &, prova C++. :)

OOP è stato aggiunto a PHP come quinta gamba al cane. Certo, usalo, è molto utile nei progetti web, ma ha alcuni svantaggi concettuali e di sintassi.

1

Gli oggetti, i modelli e la pratica di Php sono un punto di partenza difficile per OOP. È stata anche la mia prima fonte sull'argomento, e dopo la messa a terra iniziale è piuttosto denso. Detto questo, continuo a tornare ad esso, e ancora, e ancora - è un testo definitivo per PHP OOP IMO, difficile da iniziare.

Ho trovato il libro di Aaron Saray su PHP Design Patterns - ed è eccellente. Prende tutti gli esempi astratti dal libro sopra e ti mostra come potresti metterli in pratica nel tuo lavoro quotidiano. Manca un po 'del dettaglio e della teoria del primo - ma lo integra bene.

http://www.wrox.com/WileyCDA/WroxTitle/Professional-PHP-Design-Patterns.productCd-0470496703.html

MVC - (o meglio anteriore Controller) è un po 'di un mostro per cercare di cogliere in un primo momento - è meglio giocare con un quadro prima di affrontare questo. Page Controller è una migliore introduzione al concetto MVC.

http://www.phpwact.org/pattern/page_controller

Sono d'accordo che PHP OOP è "sporco", ma hey, VHS non era buono come Betamax, e si può adeguatamente imparare concetti OOP in PHP (e di distribuirli su un hosting ...- anche se suggerirei che Ruby è probabilmente più semplice da comprendere di Java (non che io abbia imparato, solo dilettato con entrambi)