Frameworks para Php Adwa

Post on 18-Dec-2014

6.847 views 2 download

description

Material creado por Elad Rodríguez para ADWA sobre Frameworks para PHP

Transcript of Frameworks para Php Adwa

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?

<?php echo “MUCHAS GRACIAS!”; ?>

Elad Rodríguez

nitsnets | studioswww.nitsnets.com

www.lostiemposcambian.com