Vous êtes sur la page 1sur 9

25/08/13

PGINAPRINCIPAL POSTSRSS

Patrn MVC Modelo Vista Controlador en PHP ~ Desarrollador Senior


COMENTARIOSRSS

Blogdedicadoalaenseanzagratuita,utilizandoJavaScript,CSS, HTML,PHP,MySQL,UML,PatronesdeDiseo.

INICIO

VIDEOCURSOS

CURSOS

PATRNMVCMODELOVISTACONTROLADOREN PHP
viernes,octubre08,2010 admin

SUSCRIPCINVIAEMAIL
Introducirladireccindeemail:

El patrn clsico del diseo web conocido como arquitecturaMVC,estformadoportresniveles:

Subscribe

ENTRADASPOPULARES
PatrnMVCModeloVista ControladorenPHP Elpatrnclsicodeldiseoweb conocidocomoarquitecturaMVC, estformadoportresniveles:1.El modelorepresentalainform... LibrogratuitodejQueryenespaol:Fundamentos dejQuery Despusdeunpardemesesdetrabajo,les queracontarsobremipequeoaporteala comunidaddediseadoresydesarrolladoresweb: Fun... PatrnSingletonenPHP5 Elpatrndediseo"Singleton" estdiseadopararestringirla creacindeobjetospertenecientes aunaclase,for... PatrnSimpleFactoryenPHP5 FactoryMethodoSimpleFactory "Claseconlaresponsabilidadde crearobjetosdeotrasclases.No delegaensubclasesys... PDO(PHPDataObjects).Capade AbstraccindeaccesoaBasesde Datos(Primeraparte) PDO(PHPDataObjects)esuna extensinnativadePHP5,consiste enunainterfaceuniformepara accederavariasbasesdedatos.PDOpro... HTML5,CSS3coleccindemejoreslibrosycheat sheets HTML5yCSS3sonlosdosnuevosestndares delaW3C.Aqulescompartounalistavaliosos recursos,libros,Sheets,delomejorqueheenc... Sitiosparadescargarcdigofuentegratis Cuantasveceslosprogramadoresnosvemosen lanecesidaddeinvestigarelcdigofuentedeuna

1.Elmodelo representalainformacinconlaquetrabajala aplicacin,esdecir,sulgicadenegocio . 2.Lavistatransformaelmodeloenunapginawebquepermitealusuariointeractuarcon ella. 3. El controlador se encarga de procesar las interacciones del usuario y realiza los cambiosapropiadosenelmodelooenlavista. La arquitectura MVC separa la lgica de negocio (el modelo ) y la presentacin (la vista) por lo que se consigue un mantenimiento ms sencillo de las aplicaciones. Si por ejemplo una misma aplicacin debe ejecutarse tanto en un navegador estndar como un navegador de un dispositivo mvil, solamente es necesario crear una vista nueva para cada dispositivo manteniendo el controlador y el modelo original. El controlador se encargadeaislaralmodeloyalavistadelosdetallesdelprotocolo utilizadoparalas peticiones (HTTP, consola de comandos, email, etc.). El modelo se encarga de la abstraccin de la lgica relacionada con los datos, haciendo que la vista y las acciones sean independientes de, por ejemplo, el tipo de gestor de bases de datos utilizadoporlaaplicacin.

desarrolladorsenior.blogspot.com/2010/10/patron-mvc-modelo-vista-controlador-en.html

1/9

25/08/13

Patrn MVC Modelo Vista Controlador en PHP ~ Desarrollador Senior


aplicacinquehacedeterminadacosaparaa... PatrndediseoDecoratoren PHP5 PatrnDecoratorrespondeala necesidaddeagregarfuncionalidad aunobjetopormediodela asociacindeclases.Esunobjeto cone... Estiloarquitectnicocapas Laprogramacinporcapasesun estilodeprogramacinenelqueel objetivoprimordialeslaseparacin delalgicadenegociosde... Sehaproducidounerrorenestegadget. Sehaproducidounerrorenestegadget.

SEGUIDORES

LascapasdelaarquitecturaMVC
Para poder entender las ventajas de utilizar el patrn MVC, se va a transformar una aplicacinsimplerealizadaconPHPenunaaplicacinquesiguela arquitecturaMVC.Un buen ejemplo para ilustrar esta explicacin es el de mostrar una lista con las ltimas entradasoartculosdeunblogcomoestemismohttp://arleytriana.blogspot.com. Programacinsimpleyllana UtilizandosolamentePHPnormalycorriente,elscriptnecesarioparamostrarlosartculos almacenadosenunabasededatossemuestraacontinuacin: Unscriptsimple < ? p h p / /C o n e c t a rc o nl ab a s ed ed a t o sys e l e c c i o n a r l a $ c o n e x i o n=m y s q l _ c o n n e c t ( ' l o c a l h o s t ' ,' m i u s u a r i o ' ,' m i c o n t r a s e n a ' ) ; m y s q l _ s e l e c t _ d b ( ' b l o g _ d b ' ,$ c o n e x i o n ) ; / /E j e c u t a rl ac o n s u l t aS Q L $ r e s u l t a d o = m y s q l _ q u e r y ( ' S E L E C T f e c h a , t i t u l o F R O M a r t i c u l o ' , $ c o n e x i o n ) ; ? > < h t m l > < h e a d > < t i t l e > L i s t a d od eA r t c u l o s < / t i t l e > < / h e a d > < b o d y > < h 1 > L i s t a d od eA r t c u l o s < / h 1 > < t a b l e > < t r > < t h > F e c h a < / t h > < t h > T i t u l o < / t h > < / t r > < ? p h p / /M o s t r a rl o sr e s u l t a d o sc o nH T M L w h i l e( $ f i l a=m y s q l _ f e t c h _ a r r a y ( $ r e s u l t a d o ,M Y S Q L _ A S S O C ) ) { e c h o" \ t < t r > \ n " ; p r i n t f ( " \ t \ t < t d >% s< / t d > \ n " ,$ f i l a [ ' f e c h a ' ] ) ; p r i n t f ( " \ t \ t < t d >% s< / t d > \ n " ,$ f i l a [ ' t i t u l o ' ] ) ; e c h o" \ t < / t r > \ n " ; } ? > < / t a b l e > < / b o d y >

Participarenestesitio
GoogleFriendConnect

Miembros(19)

Yaeresmiembro?Iniciarsesin

ARTCULOSANTERIORES
2012(7) 2011(131) 2010(145) diciembre(40) noviembre(39) octubre(18) septiembre(16) agosto(29) julio(2) mayo(1) 2009(6)

CATEGORAS
CursodeCodeIgniter(11) CursodeCSS3(6) CursodeDrupal(35) CursodeDrupal7(5) CursodeEscolar2.0(8) CursodeGityGitHub(1) CursodeHackingtico(4)

desarrolladorsenior.blogspot.com/2010/10/patron-mvc-modelo-vista-controlador-en.html

2/9

25/08/13

Patrn MVC Modelo Vista Controlador en PHP ~ Desarrollador Senior


Cursodehtml5(13) CursodeJava(2) CursodeJoomla(3) CursodeJquery(11)

< / h t m l > < ? p h p / /C e r r a rl ac o n e x i o n m y s q l _ c l o s e ( $ c o n e x i o n ) ; ? > El script anterior es fcil de escribir y rpido de ejecutar, pero muy difcil de manteneryactualizar.Losprincipalesproblemasdelcdigoanteriorson: Noexisteproteccinfrenteaerrores(quocurresifallalaconexinconlabasede datos?). ElcdigoHTMLyelcdigoPHPestnmezcladosenelmismoarchivoeinclusoen algunaspartesestnentrelazados. ElcdigosolofuncionasilabasededatosesMySQL.

CursodePHPyMySQL(20) CursodePostgres(8) CursodeProgramacinparaAndroid(1) CursodeUbercart(12) DOM(1) drupal(15)

Separandolapresentacin
Lasllamadasaechoyprintfdellistadoanteriordificultanlalecturadelcdigo.Dehecho, modificar el cdigo HTML del script anterior para mejorar la presentacin es un muy complicado debido a cmo est programado. As que el cdigo va a ser dividido en dos partes.Enprimerlugar,elcdigoPHPpurocontodalalgicadenegocio seincluyeenel scriptdelcontrolador,comosemuestraacontinuacin. Lapartedelcontrolador,eni n d e x . p h p < ? p h p / /C o n e c t a rc o nl ab a s ed ed a t o sys e l e c c i o n a r l a $ c o n e x i o n=m y s q l _ c o n n e c t ( ' l o c a l h o s t ' ,' m i u s u a r i o ' ,' m i c o n t r a s e n a ' ) ; m y s q l _ s e l e c t _ d b ( ' b l o g _ d b ' ,$ c o n e x i o n ) ; / /E j e c u t a rl ac o n s u l t aS Q L $ r e s u l t a d o = m y s q l _ q u e r y ( ' S E L E C T f e c h a , t i t u l o F R O M a r t i c u l o ' , $ c o n e x i o n ) ; / /C r e a re la r r a yd ee l e m e n t o sp a r al ac a p ad el av i s t a $ a r t i c u l o s=a r r a y ( ) ; w h i l e( $ f i l a=m y s q l _ f e t c h _ a r r a y ( $ r e s u l t a d o ,M Y S Q L _ A S S O C ) ) { $ a r t i c u l o s [ ]=$ f i l a ; } / /C e r r a rl ac o n e x i n m y s q l _ c l o s e ( $ c o n e x i o n ) ; / /I n c l u i rl al g i c ad el av i s t a r e q u i r e ( ' v i s t a . p h p ' ) ; ? > El cdigo HTML, que contiene cierto cdigo PHP a modo de plantilla, se almacena en el scriptdelavista,comosemuestraacontinuacin. Lapartedelavista,envista.php < h t m l > < h e a d > < t i t l e > L i s t a d od eA r t c u l o s < / t i t l e > < / h e a d > < b o d y > < h 1 > L i s t a d od eA r t c u l o s < / h 1 > < t a b l e > < t r > < t h > F e c h a < / t h > < t h > T t u l o < / t h > < / t r > < ? p h pf o r e a c h( $ a r t i c u l o sa s$ a r t i c u l o ) :? > < t r >

ebook(4) fuentesytipografas(2) HTML5(12) IDE(2) Javascript(10) joomla(5) jquery(19) MySQL(4) navegadores(5) patronesdediseo(7) php(6) PHPOrientadoaObjetos(9) SeguridadInformtica(16) templates(10) XHTMLyCSS(15)

desarrolladorsenior.blogspot.com/2010/10/patron-mvc-modelo-vista-controlador-en.html

3/9

25/08/13

Patrn MVC Modelo Vista Controlador en PHP ~ Desarrollador Senior

< t d > < ? p h pe c h o$ a r t i c u l o [ ' f e c h a ' ]? > < / t d > < t d > < ? p h pe c h o$ a r t i c u l o [ ' t i t u l o ' ]? > < / t d > < / t r > < ? p h pe n d f o r e a c h ;? > < / t a b l e > < / b o d y > < / h t m l > Unabuenareglageneralparadeterminarsilapartedelavistaestsuficientementelimpia decdigoesquedeberacontenerunacantidadmnimadecdigoPHP,lasuficientecomo para que un diseador HTML sin conocimientos de PHP pueda entenderla. Las instrucciones ms comunes en la parte de la vista suelen ser echo, if/else, foreach/endforeach y poco ms. Adems, no se deben incluir instrucciones PHP que generenetiquetasHTML. Toda la lgica se ha centralizado en el script del controlador, que solamente contiene cdigo PHP y ningn tipo de HTML. De hecho, y como puedes imaginar, el mismo controlador se puede reutilizar para otros tipos de presentaciones completamente diferentes,comoporejemplounarchivoPDFounaestructuradetipoXML.

Separandolamanipulacindelosdatos
Lamayorpartedelscriptdelcontroladorseencargadelamanipulacindelosdatos.Pero, quocurresisenecesitalalistadeentradasdelblogparaotrocontrolador,porejemplo uno que se dedica a generar el canal RSS de las entradas del blog? Y si se quieren centralizar todas las consultas a la base de datos en un nico sitio para evitar duplicidades? Quocurresicambiaelmodelodedatosylatablaarticulopasaallamarsearticulo_blog? YsisequierecambiaraPostgreSQLenvezdeMySQL?Parapoderhacertodoesto,es imprescindible eliminar del controlador todo el cdigo que se encarga de la manipulacin de los datos y ponerlo en otro script, llamado el modelo, tal y como se muestra a continuacin. Lapartedelmodelo,enm o d e l o . p h p < ? p h p f u n c t i o ng e t T o d o s L o s A r t i c u l o s ( ) { / /C o n e c t a rc o nl ab a s ed ed a t o sys e l e c c i o n a r l a $ c o n e x i o n=m y s q l _ c o n n e c t ( ' l o c a l h o s t ' ,' m i u s u a r i o ' ,' m i c o n t r a s e n a ' ) ; m y s q l _ s e l e c t _ d b ( ' b l o g _ d b ' ,$ c o n e x i o n ) ; / /E j e c u t a rl ac o n s u l t aS Q L $ r e s u l t a d o = m y s q l _ q u e r y ( ' S E L E C T f e c h a , t i t u l o F R O M a r t i c u l o ' , $ c o n e x i o n ) ; / /C r e a re la r r a yd ee l e m e n t o sp a r al ac a p ad el av i s t a $ a r t i c u l o s=a r r a y ( ) ; w h i l e( $ f i l a=m y s q l _ f e t c h _ a r r a y ( $ r e s u l t a d o ,M Y S Q L _ A S S O C ) ) { $ a r t i c u l o s [ ]=$ f i l a ; } / /C e r r a rl ac o n e x i n m y s q l _ c l o s e ( $ c o n e x i o n ) ; r e t u r n$ a r t i c u l o s ; } ? > Elcontroladormodificadosepuedeveraqu. Lapartedelcontrolador,modificada,eni n d e x . p h p

desarrolladorsenior.blogspot.com/2010/10/patron-mvc-modelo-vista-controlador-en.html

4/9

25/08/13

Patrn MVC Modelo Vista Controlador en PHP ~ Desarrollador Senior

< ? p h p / /I n c l u i rl al g i c ad e lm o d e l o r e q u i r e _ o n c e ( ' m o d e l o . p h p ' ) ; / /O b t e n e rl al i s t ad ea r t c u l o s $ a r t i c u l o s=g e t T o d o s L o s A r t i c u l o s ( ) ; / /I n c l u i rl al g i c ad el av i s t a r e q u i r e ( ' v i s t a . p h p ' ) ; ? > Ahora el controlador es mucho ms fcil de leer. Su nica tarea es la de obtener los datos del modelo y pasrselos a la vista. En las aplicaciones ms complejas, el controlador se encarga adems de procesar las peticiones, las sesiones de los usuarios, la autenticacin, etc. El uso de nombres apropiados para las funciones del modelohacequeseainnecesarioaadircomentariosalcdigodelcontrolador. El script del modelo solamente se encarga del acceso a los datos y puede ser reorganizado a tal efecto. Todos los parmetros que no dependen de la capa de datos (comoporejemplolosparmetrosdelapeticindelusuario)sedebenobteneratravsdel controlador y por tanto, no se puede acceder a ellos directamente desde el modelo. Las funcionesdelmodelosepuedenreutilizarfcilmenteenotroscontroladores.

SeparacinencapasmsalldelMVC
ElprincipiomsimportantedelaarquitecturaMVCeslaseparacindelcdigodel programa en tres capas, dependiendo de su naturaleza. La lgica relacionada con los datos se incluye en el modelo, el cdigo de lapresentacin en la vista y la lgica de la aplicacinenelcontrolador. La programacin se puede simplificar si se utilizan otros patrones de diseo. De esta forma, las capas del modelo , la vista y el controlador se pueden subidividir en ms capas. Abstraccindelabasededatos Lacapadelmodelo sepuededividirenla capadeaccesoalosdatosyenla capade abstraccindelabasededatos.Deestaforma,lasfuncionesqueaccedenalosdatos noutilizansentenciasniconsultasquedependendeunabasededatos,sinoqueutilizan otras funciones para realizar las consultas. As, si se cambia de sistema gestor de bases dedatos,solamenteesnecesarioactualizarlacapadeabstraccindelabasededatos. Lapartedelmodelocorrespondientealaabstraccindelabasededatos:muestra unacapadeaccesoadatosespecficaparaMySQL. < ? p h p f u n c t i o nc r e a r _ c o n e x i o n ( $ s e r v i d o r ,$ u s u a r i o ,$ c o n t r a s e n a ) { r e t u r nm y s q l _ c o n n e c t ( $ s e r v i d o r ,$ u s u a r i o ,$ c o n t r a s e n a ) ; } f u n c t i o nc e r r a r _ c o n e x i o n ( $ c o n e x i o n ) { m y s q l _ c l o s e ( $ c o n e x i o n ) ; } f u n c t i o nc o n s u l t a _ b a s e _ d e _ d a t o s ( $ c o n s u l t a ,$ b a s e _ d a t o s ,$ c o n e x i o n ) { m y s q l _ s e l e c t _ d b ( $ b a s e _ d a t o s ,$ c o n e x i o n ) ; r e t u r nm y s q l _ q u e r y ( $ c o n s u l t a ,$ c o n e x i o n ) ; } f u n c t i o no b t e n e r _ r e s u l t a d o s ( $ r e s u l t a d o ) {

desarrolladorsenior.blogspot.com/2010/10/patron-mvc-modelo-vista-controlador-en.html

5/9

25/08/13

Patrn MVC Modelo Vista Controlador en PHP ~ Desarrollador Senior

r e t u r nm y s q l _ f e t c h _ a r r a y ( $ r e s u l t a d o ,M Y S Q L _ A S S O C ) ; } ? > La parte del modelo correspondiente al acceso a los datos: muestra una capa sencilladeabstraccindelabasededatos. < ? p h p f u n c t i o ng e t T o d o s L o s A r t i c u l o s ( ) { / /C o n e c t a rc o nl ab a s ed ed a t o s $ c o n e x i o n=c r e a r _ c o n e x i o n ( ' l o c a l h o s t ' ,' m i u s u a r i o ' ,' m i c o n t r a s e n a ' ) ; / /E j e c u t a rl ac o n s u l t aS Q L $ r e s u l t a d o = c o n s u l t a _ b a s e _ d e _ d a t o s ( ' S E L E C T f e c h a , t i t u l o F R O M a r t i c u l o ' ,' b l o g _ d b ' ,$ c o n e x i o n ) ; / /C r e a re la r r a yd ee l e m e n t o sp a r al ac a p ad el av i s t a $ a r t i c u l o s=a r r a y ( ) ; w h i l e( $ f i l a=o b t e n e r _ r e s u l t a d o s ( $ r e s u l t a d o ) ) { $ a r t i c u l o s [ ]=$ f i l a ; } / /C e r r a rl ac o n e x i n c e r r a r _ c o n e x i o n ( $ c o n e x i o n ) ; r e t u r n$ a r t i c u l o s ; } ? > Como se puede comprobar, la capa de acceso a datos no contiene funciones dependientesdeningnsistemagestordebasesdedatos,porloqueesindependientede labasededatosutilizada.Adems,lasfuncionescreadasenlacapadeabstraccindela basededatossepuedenreutilizarenotrasfuncionesdelmodeloquenecesitenaccedera labasededatos. NOTA Estos ltimos dos ejemplos no son completos, y todava hace falta aadir algo de cdigo para tener una completa abstraccin de la base de datos (abstraer el cdigo SQL medianteun constructordeconsultas independientedelabasededatos,aadirtodas lasfuncionesaunaclase,etc.)Elpropsitodeesteartculonoesmostrarcmosepuede escribirtodoesecdigo. Loselementosdelavista La capa de la vista tambin puede aprovechar la separacin de cdigo . Las pginas web suelen contener elementos que se muestran de forma idntica a lo largo de toda la aplicacin: cabeceras de la pgina, el layout genrico, el pie de pgina y la navegacin global. Normalmente slo cambia el interior de la pgina. Por este motivo, la vista se separa en un layout y en una plantilla. Normalmente, el layout es global en toda la aplicacinoalmenosenungrupodepginas.Laplantillasloseencargadevisualizarlas variables definidas en el controlador. Para que estos componentes interaccionen entre s correctamente,esnecesarioaadirciertocdigo.Siguiendoestosprincipios,lapartedela vistadelscripinicialsepuedesepararentrespartes. Lapartedelaplantilladelavista,enmiplantilla.php < h 1 > L i s t a d od eA r t c u l o s < / h 1 > < t a b l e > < t r > < t h > F e c h a < / t h > < t h > T t u l o < / t h > < / t r > < ? p h pf o r e a c h( $ a r t i c u l o sa s$ a r t i c u l o ) :? > < t r >

desarrolladorsenior.blogspot.com/2010/10/patron-mvc-modelo-vista-controlador-en.html

6/9

25/08/13

Patrn MVC Modelo Vista Controlador en PHP ~ Desarrollador Senior

< t d > < ? p h pe c h o$ a r t i c u l o [ ' f e c h a ' ]? > < / t d > < t d > < ? p h pe c h o$ a r t i c u l o [ ' t i t u l o ' ]? > < / t d > < / t r > < ? p h pe n d f o r e a c h ;? > < / t a b l e > Lapartedelalgicadelavista < ? p h p $ t i t u l o=' L i s t a d od eA r t c u l o s ' ; $ c o n t e n i d o=i n c l u d e ( ' m i p l a n t i l l a . p h p ' ) ; ? > Lapartedellayoutdelavista < h t m l > < h e a d > < t i t l e > < ? p h pe c h o$ t i t u l o? > < / t i t l e > < / h e a d > < b o d y > < ? p h pe c h o$ c o n t e n i d o? > < / b o d y > < / h t m l >

Accionesycontroladorfrontal
Enelejemploanterior,elcontroladornoseencargabaderealizarmuchastareas,peroen lasaplicacioneswebrealeselcontroladorsueletenermuchotrabajo.Unaparteimportante de su trabajo es comn a todos los controladores de la aplicacin. Entre las tareas comunesseencuentranelmanejodelaspeticionesdelusuario,elmanejodelaseguridad, cargar la configuracin de la aplicacin y otras tareas similares. Por este motivo, el controlador normalmente se divide en un controlador frontal, que es nico para cada aplicacin, y las acciones, que incluyen el cdigo especfico del controlador de cada pgina. Unadelasprincipalesventajasdeutilizaruncontroladorfrontalesque ofreceunpunto deentradanicoparatodalaaplicacin .As,encasodequeseanecesarioimpedirel acceso a la aplicacin, solamente es necesario editar el script correspondiente al controladorfrontal.Silaaplicacinnodisponedecontroladorfrontal,sedeberamodificar cadaunodeloscontroladores.

Orientacinaobjetos
Los ejemplos anteriores utilizan la programacin procedimental. Las posibilidades que ofrecen los lenguajes de programacin modernos para trabajar con objetos permiten simplificar la programacin, ya que los objetos pueden encapsular la lgica, heredar mtodos y atributos entre diferentes objetos y proporcionan una serie de convenciones clarassobrelaformadenombraralosobjetos. LaimplementacindeunaarquitecturaMVCenunlenguajedeprogramacinquenoest orientadoaobjetospuedeencontrarseconproblemasde namespacesy cdigoduplicado, dificultandolalecturadelcdigodelaaplicacin. La orientacin a objetos permite a los desarrolladores trabajar con objetos de la vista, objetos del controlador y clases del modelo , transformando las funciones de los ejemplosanterioresenmtodos.Setratadeunrequisitoobligatorioparalasarquitecturas detipoMVC.

OtrosartculossobrePatrones

desarrolladorsenior.blogspot.com/2010/10/patron-mvc-modelo-vista-controlador-en.html

7/9

25/08/13

Patrn MVC Modelo Vista Controlador en PHP ~ Desarrollador Senior

1. PatronSingletonenPHP 2. PatrndediseoDecoratorenPHP 3. PatrnSimpleFactoryenPHP 4. PatrnRegistryenPHP

Sugerencias
Siquieresprofundizareneltemadelospatronesdediseoparalasaplicacioneswebenel contexto de la orientacin a objetos, puedes leer Patterns of Enterprise Application Architecture de Martin Fowler (AddisonWesley, ISBN: 0321127420). El cdigo de ejemplodellibrodeFowlerestescritoenJavayenC#,peroesbastantefcildeleerpara losprogramadoresdePHP.

6 C OMEN TA R IOS: jesusdijo... Muybuendocumento,mehaayudadomucho 1 D EAGOSTOD E2 0 1 2 1 9 :1 6 Matecitodijo... Excelenteexplicacin,sencillayentendible,muchisimasgracias. 1 D EOC TU BR ED E2 0 1 2 1 2 :5 4 dfddijo... Muybuenaexplicacion,graciaas. TendrasalgunejemploaplicandoPOO 7 D EN OVIEMBR ED E2 0 1 2 2 0 :3 2 josemanuelcristobalveradijo... Muybienexplicado,muchasgracias 1 8 D EEN ER OD E2 0 1 3 0 1 :3 4 JOSEVICTORBERNALJIMENEZdijo... Saludos. Muybuenotefelicitoytengounapregunta.Puedocomenzaraprogramarconunframeworksintenerla experienciaphp.Quierodecirsolotengonocionesdephpyexperienciaenprogramacionenotros lenguajesprocedimentales. Gracias. 2 1 D EMAR ZOD E2 0 1 3 1 3 :5 1 admindijo... HolaJose, Notelorecomiendo,primerosientalasbases. Saludos 2 2 D EMAR ZOD E2 0 1 3 2 1 :0 8 PU B LIC A R U N C OMEN TA R IOEN LA EN TR A D A

desarrolladorsenior.blogspot.com/2010/10/patron-mvc-modelo-vista-controlador-en.html

8/9

25/08/13
I n t r o d u c et uc o m e n t a r i o . . .

Patrn MVC Modelo Vista Controlador en PHP ~ Desarrollador Senior

Comentarcomo: CuentadeGoogle Publicar Vistaprevia

Pages73

DesarrolladorSenior2012estlicenciadobajounaLicenciaCreativeCommonsReconocimientoNocomercialCompartirbajolamismalicencia3.0 Espaa.

desarrolladorsenior.blogspot.com/2010/10/patron-mvc-modelo-vista-controlador-en.html

9/9

Vous aimerez peut-être aussi