2005/12/18
No Comments
Reading time: 4 – 7 minutes
Com molts sabeu jo no sóc informàtic ni pretenc ser-ho, ara com jo sempre dic, als telemàtics se’ns pre-suposa que sabem informàtica. Alguns diuen que saber programar no és saber informàtica però jo crec que almenys si saps programar algo d’infomàtica saps. Així doncs entre tot aquest dilèma que m’he montat per dir només que, fins no fa massa anys no havia sentit a parlar del sistema de programació MVC (Model Business, View i Controller). Potser algú recorda que fa molt de temps vaig publicar un article on recomanava la web d’en Tony Marston. Doncs aquí van ser on per primer cop vaig coneixer una mica a fons tot aquest tema.
Malgrat no ho necessito per res en especial fa uns dies vaig pensar que seria bona idea aprofundir una mica més en aquest tema del MVC i he estat llegint una miqueta sobre el tema. Com que el llenguatge de programació que més uso és el PHP vaig buscar informació de frameWorks que implementessin el model MVC sobre aquest llenguatge que en principi no implementa per defecta una estructura MVC. Perquè us feu una idea en aplicacions ASP (Applications Service Provider) el sistema MVC per excel·lència és els servlets de Java, per exemple, la implementació Tomcat. Pels que conegueu millor el tema que jo és el que en java en diuen struts. Si algú de vosaltres ja ho coneix i vol una implementació dels mateixos feta en PHP us recomano que us mireu el phpMVC.
Com us comentava abans tot això ho vaig descobrir a fons a través d’en Tony i ell mateix té un document que crec que és molt bo, que explica com implementar un model MVC directament sobre PHP sense passar per un frameWork concret. El document en qüestió es diu The Model-View-Controller (MVC) Design Pattern for PHP. Si com jo abans d’atacar documents com aquest heu de fer una intro al tema, la documentació de Java sobre el MVC i els struts jo diria que és molt bona. Concretament us recomano els següents capitols:
Un bon dibuix perquè veieu pels que no us soni de res el que dic, que el model és molt útil:
Des de la documentació d’Oracle sobre els models MVC he trobat un gràfic que aplica la teoria exposada en el gràfic i documents anteriors des d’un gràfic aplicat directament a explicar les sigles MVC:
Tornant al tema PHP hi ha molts més frameworks i webs que parlen d’MVC sobre aquest llenguatge. Però potser els que més bona pinta m’han fet, sense haver tingut la sort de poder-los provar amb calma i tranquil·litat, són els que us poso a continuació:
- phpMVC com us he comentat abans jo diria que és un dels frameworks que implementen MVC més complerts, sobretot perquè en la capa d’accés a dades i en la capa de presentació suporta llibreries tan conegudes com: PEAR, phpLIB, Smarty i moltes d’altres. Com us he comentat és una implementació directa del model struts que usen els servlets de java.
- cakePHP jo diria que és la llibreria MVC perfecte per programar ràpidament una aplciació sense tenir una curva d’aprenentatge que es dilati massa en el temps.
- WACT (Web Application Component Toolkit) també té pinta de no ser massa complicat i jo diria que esta prou bé. Sembla que esta pensat perquè no ens perdem a l’hora de programar aplicacions segures. Però no veig massa clar quines carències té. Potser la petita comunitat d’usuaris?
Com que sobre aquest tema no en sé gaire més, us remeto a una discusió que he trobat en un forum que sembla prou interessant i de nivell. A més molta gent hi parla amb coneixement de causa, cosa que és d’agraïr, Tired of non-standards? Take a look. si aquesta us sembla poc concreta, una altre: PHP Frameworks.
Si algún dels lectors que sigui informàtic, o que senzillament, en sapigue molt més que jo i ens pot donar eines per mortals per dominar aquestes tècniques encantat de mirarme-les.