frameworks para php adwa
DESCRIPTION
Material creado por Elad Rodríguez para ADWA sobre Frameworks para PHPTRANSCRIPT
Elad Rodrígueznitsnets | studios
Frameworks PHP ¿por qué usarlos?
Frameworks PHP ¿por qué usarlos?
Indice
-‐ ¿Que es un framework?-‐ Ventajas y desventajas-‐ Framerwoks PHP-‐ Symfony-‐ CodeIgniter-‐ Casos de éxito-‐ Enlaces
Frameworks PHP ¿por qué usarlos?
¿Que es un Framework?
-‐ Framework es un conjunto estandarizado de conceptos, prácIcas y criterios para resolver un problema.
-‐ En soLware es una estructura conceptual y tecnológica de soporte definida. Con librerías, componentes y clases que facilitan un desarrollo ágil, seguro y escalable.
-‐ Una forma de organizarnos
Frameworks PHP ¿por qué usarlos?
¿Necesito un framework?
-‐ Como en todo, hay desarrolladores pro-‐frameworks y anti-‐frameworks.
-‐ Necesitas orden, framework o no acabarás desarrollando de una cierta forma y lógica. Estarás haciendo tu propio “framework”
Frameworks PHP ¿por qué usarlos?
No reinventemos la rueda. “TOPICAZO”
Frameworks PHP ¿por qué usarlos?
Ventajas
-‐ Escalibilidad y Mantenimiento
-‐ Independencia lógica de negocio e interfaz gráficaMVC: Modelo, Vista, Controlador.
-‐ Desarrollo más rápido y mejor.
Frameworks PHP ¿por qué usarlos?
Ventajas
-‐ Librerías y códigos ya realizados.Lo ]pico ya lo Ienes, no lo repitas!
-‐ Extensa documentación y muchos incluso en Español.
-‐ Independencia de Base de datos.
-‐ Suelen seguir la mayoría de las mejores prácIcas y patrones de diseño web
Frameworks PHP ¿por qué usarlos?
Ventajas
-‐ Puedes encontrar desarrolladores ya capacitados en ese framework.
-‐ Menos código:menos complejidad => menos bugs=> más producIvidad => menos Iempo=> menos costes => más beneficios
Frameworks PHP ¿por qué usarlos?
Desventajas
Frameworks PHP ¿por qué usarlos?
Desventajas
-‐ A veces me limitan porque no se modificar algo del núcleo o no me hace lo que pienso que debería. Si lo hubiese programado yo entero lo tendría todo más claro.-‐ No me siento realizado... no todo es mio :-‐S-‐ Curva de aprendizaje costosa en algunos frameworks-‐ Puede implicar trabajar más de lo necesario: configuración de la caché. Obligado a mejor resultado!
Frameworks PHP ¿por qué usarlos?
Al final te fijas en lo importante...
Frameworks PHP ¿por qué usarlos?
¡¡Ojo!!
-‐ Un framework es una metodología con herramientas pero NO LO HACE TODO SOLO.
Frameworks PHP ¿por qué usarlos?
JusIficación rápida de framework MVC
-‐ Trabajar sin framework. “A saco” Todo mezclado diseño, conexión a base de datos y lógica de negocio
<html> <head> <title>ADWA</title> </head> <body> <table border="1"> <tr> <th>CONFERENCIA</th> <th>PONENTE</th> </tr> <?php $db = new PDO('mysql:host=localhost;dbname=adwa', 'root', 'adwa2010'); $result = $db->query('SELECT * FROM conferencias'); $libros = array(); while ($conferencia = $result->fetch()) { ?> <tr> <td><?php echo $conferencia['titulo']?></td> <td><?php echo $conferencia['ponente']?></td> </tr> <?php } ?> </table> </body></html>
Frameworks PHP ¿por qué usarlos?
JusIficación rápida de framework MVC
-‐ Trabajar sin framework. “A saco” Todo mezclado diseño, conexión a base de datos y lógica de negocio
<html> <head> <title>ADWA</title> </head> <body> <table border="1"> <tr> <th>CONFERENCIA</th> <th>PONENTE</th> </tr> <?php $db = new PDO('mysql:host=localhost;dbname=adwa', 'root', 'adwa2010'); $result = $db->query('SELECT * FROM conferencias'); $libros = array(); while ($conferencia = $result->fetch()) { ?> <tr> <td><?php echo $conferencia['titulo']?></td> <td><?php echo $conferencia['ponente']?></td> </tr> <?php } ?> </table> </body></html>
Vista
Vista
Modelo
Frameworks PHP ¿por qué usarlos?
-‐ Esta bien, un poco de orden. Las llamadas a base de datos externas, las variables de conexión de base de datos como constantes y todo el código al principio
<?php $db = conectar(); $result = $db->query('SELECT * FROM conferencias'); $conferencias = array(); while ($conferencias = $result->fetch())
$conferencias[] = $conferencia;
<?php foreach ($conferencias as $conferencia) { ?> <tr> <td><?php echo $conferencia['titulo']?></td> <td><?php echo $conferencia['ponente']?></td> </tr> <?php } ?> </table> </body></html> Vista
Modelo
Frameworks PHP ¿por qué usarlos?
-‐ Y porque no separamos completamente para que diseñadores HTML y desarrolladores PHP convivan felices. En varios ficheros .phpYa tenemos el MVC.
Frameworks PHP ¿por qué usarlos?
Frameworks PHPComponentes y librerías hgp://framework.zend.com
hgp://ez.no/ezcomponents
hgp://pear.php.net
Frameworks
...
hgp://www.akelos.org
hgp://www.seagullproject.org
hgp://cakephp.org
hgp://www.kumbiaphp.com
hgp://www.fusebox.org
hgp://www.symfony-‐project.orghgp://www.fusebox.org
hgp://www.codeigniter.com
hgp://www.yiiframework.com
Frameworks PHP ¿por qué usarlos?
¿Pero cual elijo?
Frameworks PHP ¿por qué usarlos?
¿Pero cual elijo?
Bueno, reflexionemos, probemos varios, leemos blogs con pros y contras, sigamos reflexionando (fecha de entrega del proyecto ha pasado ya), descarguemos la ulIma versión que ha salido nueva... espera espera ha salido un framework que aún es mejor...
Frameworks PHP ¿por qué usarlos?
¿Igual?
... hay que tomar una decisión ya
Frameworks PHP ¿por qué usarlos?
¿Elijo por I?
(Symfony || CodeIgniter)&& ZendFramework && pear
&& jquery && doctrine
+
+externos...
ó
librerías
Frameworks PHP ¿por qué usarlos?
Javascript: “NO TE OLVIDES DE MIIIIIIIIIIII”
Los frameworks PHP son frameworks de PHP no de desarrollo web, con lo cual lenguaje cliente no lo Iene
en cuenta...
Frameworks PHP ¿por qué usarlos?
Symfony
-‐ Fundador y jefe de proyecto: Fabien Potencier (Francia)
-‐ En 2007 nación Symfony 1.0 como framework de desarrollointerno para la empresa de Fabien: Sensio Labs.
-‐ Actualmente las úlImas versiones son 1.4 y ya esta endesarrollo la versión 2.0.
Frameworks PHP ¿por qué usarlos?
Symfony
-‐ Es de los frameworks más uIlizados. Eso da seguridad ;-‐)
-‐ Grandes empresas como Yahoo y el periódico Público/Cine han apostado por ser su framework de trabajo.
-‐ Es la apuesta europea de PHP en contraposición delamericano y más anIguo CakePHP
-‐ Nace con el objeIvo de no reinventar la rueda, todo lo bien hecho lo intentan incorporar: YAML, Doctrine ORM...
Frameworks PHP ¿por qué usarlos?
hgp://www.delicious.com
Frameworks PHP ¿por qué usarlos?
hgp://www.publico.es/cine
Frameworks PHP ¿por qué usarlos?
Symfony: CaracterísIcas-‐ Gran documentación y comunidad tanto en habla inglesacomo española (entre otras)
Grandisimos tutoriales y libros como 24 días con Symfony:www.jobeet.org
-‐ Friendly URL : RooIng-‐ Helpers-‐ Formularios MVC-‐ ORM: Doctrine y Propel-‐ Internacionalización (I18N) y Localización (L10N)
Frameworks PHP ¿por qué usarlos?
Symfony: CaracterísIcas
-‐ Sistema buenísmo de CACHE: slots, componentes, par7al -‐ Unit TesIng
-‐ Debugger developers
-‐ Línea de comandos
-‐ Scawolding. Generadores de código para gestores de contenidos. CRUD (Create, Read, Update, Delete)
Frameworks PHP ¿por qué usarlos?
-‐ apps => aplicaciones con sus modulosse va replicando la misma estructura de carpetas.
-‐ cache => ficheros de cache-‐ config => generales-‐ data => sqls-‐ lib / model => ORM-‐ logs => ficheros de control-‐ web => CONTROLADOR
Frameworks PHP ¿por qué usarlos?
-‐ apps => aplicaciones con sus modulos, se van -‐ cache => ficheros de cache-‐ config => generales-‐ data => sqls-‐ lib / model => ORM-‐ logs => ficheros de control-‐ web => CONTROLADOR
Frameworks PHP ¿por qué usarlos?
Si no quieres Symfony siempre puedesuIlizar unas partes...
Frameworks PHP ¿por qué usarlos?
CodeIgniter
-‐ ¿Quieres un framework pequeño y manejable?-‐ ¿No quieres tener que configurar servidores?-‐ ¿No quieres usar la linea de comandos?-‐ ¿No quieres un PHP restricIvo?-‐ ¿No quieres instalar PEAR?-‐ ¿No quieres aprender un gestor de planIllas?
-‐ Conclusión: ODIAS SYMFONY!!! ;-‐)
Frameworks PHP ¿por qué usarlos?
CodeIgniter
-‐ Proyecto fundado por EllisLab Inc.
-‐ También buena documentación y buena comunidad en español.Inferior a la de Symfony.
-‐ Mantenimiento más sencillo.No una actualización constante y abusiva.Core pequeño y estable.
-‐ OPENSOURCE
-‐ Conclusión: El hermano “pequeño” de Symfony
Frameworks PHP ¿por qué usarlos?
Frameworks PHP ¿por qué usarlos?
Casos de éxito: hgp://www.openart.com
Frameworks PHP ¿por qué usarlos?
PERO...
aún el soLware es de fabricación
artesanal...
los frameworks+IDEs nos acercan a un proceso
industrial...
Frameworks PHP ¿por qué usarlos?
Enlaces
Symfony > Enlaces
http://www.symfony-project.orgWeb oficial del framework de PHP Symfony
http://www.symfony.esBlog de Symfony en español
http://www.librosweb.es/symfony/index.htmlDocumentación y libros de Symfony en español
http://delicious.com/Ejemplo de desarrollo realizado en Symfony
Frameworks PHP ¿por qué usarlos?
Enlaces
CodeIgniter > Enlaces
http://www.codeigniter.comWeb oficial del framework de PHP CodeIgniter
http://techtastico.com/post/manual-codeigniter-castellano/Manual de CodeIgniter en Español
http://net.tutsplus.com/?s=codeigniterVideotutoriales y tutoriales de CodeIgniter en Inglés
Frameworks PHP ¿por qué usarlos?
Enlaces
Proyectos > Enlaces
http://www.openart.com/Red Social de Arte
http://www.revistauala.com/Periódico y revista digital cultural de Alicante
http://www.nosplay.commmm
Frameworks PHP ¿por qué usarlos?
<?php echo “MUCHAS GRACIAS!”; ?>
Elad Rodríguez
nitsnets | studioswww.nitsnets.com
www.lostiemposcambian.com