frameworks para php adwa

40
Elad Rodríguez nitsnets | studios Frameworks PHP ¿por qué usarlos?

Upload: andres-karp

Post on 18-Dec-2014

6.848 views

Category:

Education


2 download

DESCRIPTION

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

TRANSCRIPT

Page 1: Frameworks para Php Adwa

Elad Rodrígueznitsnets | studios

Frameworks  PHP  ¿por  qué  usarlos?

Page 2: Frameworks para Php Adwa

Frameworks  PHP  ¿por  qué  usarlos?

Indice

-­‐  ¿Que  es  un  framework?-­‐  Ventajas  y  desventajas-­‐  Framerwoks  PHP-­‐  Symfony-­‐  CodeIgniter-­‐  Casos  de  éxito-­‐  Enlaces

Page 3: Frameworks para Php Adwa

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

Page 4: Frameworks para Php Adwa

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”

Page 5: Frameworks para Php Adwa

Frameworks  PHP  ¿por  qué  usarlos?

No  reinventemos  la  rueda.  “TOPICAZO”

Page 6: Frameworks para Php Adwa

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.

Page 7: Frameworks para Php Adwa

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

Page 8: Frameworks para Php Adwa

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

Page 9: Frameworks para Php Adwa

Frameworks  PHP  ¿por  qué  usarlos?

Desventajas

Page 10: Frameworks para Php Adwa

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!    

Page 11: Frameworks para Php Adwa

Frameworks  PHP  ¿por  qué  usarlos?

Al  final  te  fijas  en  lo  importante...

Page 12: Frameworks para Php Adwa

Frameworks  PHP  ¿por  qué  usarlos?

¡¡Ojo!!

-­‐  Un  framework  es  una  metodología  con  herramientas  pero  NO  LO  HACE  TODO  SOLO.

Page 13: Frameworks para Php Adwa

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>

Page 14: Frameworks para Php Adwa

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  

Page 15: Frameworks para Php Adwa

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  

Page 16: Frameworks para Php Adwa

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.

Page 17: Frameworks para Php Adwa

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

Page 18: Frameworks para Php Adwa

Frameworks  PHP  ¿por  qué  usarlos?

¿Pero  cual  elijo?

Page 19: Frameworks para Php Adwa

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...

Page 20: Frameworks para Php Adwa

Frameworks  PHP  ¿por  qué  usarlos?

¿Igual?

...  hay  que  tomar  una  decisión  ya

Page 21: Frameworks para Php Adwa

Frameworks  PHP  ¿por  qué  usarlos?

¿Elijo  por  I?

(Symfony  ||  CodeIgniter)&&  ZendFramework  &&  pear

&&  jquery  &&  doctrine

+

+externos...

ó

librerías

Page 22: Frameworks para Php Adwa

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...

Page 23: Frameworks para Php Adwa

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.

Page 24: Frameworks para Php Adwa

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...

Page 25: Frameworks para Php Adwa

Frameworks  PHP  ¿por  qué  usarlos?

hgp://www.delicious.com

Page 26: Frameworks para Php Adwa

Frameworks  PHP  ¿por  qué  usarlos?

hgp://www.publico.es/cine

Page 27: Frameworks para Php Adwa

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)

Page 28: Frameworks para Php Adwa

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)

Page 29: Frameworks para Php Adwa

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  

Page 30: Frameworks para Php Adwa

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  

Page 31: Frameworks para Php Adwa

Frameworks  PHP  ¿por  qué  usarlos?

Si  no  quieres  Symfony  siempre  puedesuIlizar  unas  partes...

Page 32: Frameworks para Php Adwa

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!!!  ;-­‐)

Page 33: Frameworks para Php Adwa

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

Page 34: Frameworks para Php Adwa

Frameworks  PHP  ¿por  qué  usarlos?

Page 35: Frameworks para Php Adwa

Frameworks  PHP  ¿por  qué  usarlos?

Casos  de  éxito:  hgp://www.openart.com

Page 36: Frameworks para Php Adwa

Frameworks  PHP  ¿por  qué  usarlos?

PERO...

aún  el  soLware  es  de  fabricación  

artesanal...

los  frameworks+IDEs  nos  acercan  a  un  proceso  

industrial...

Page 40: Frameworks para Php Adwa

Frameworks  PHP  ¿por  qué  usarlos?

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

Elad Rodríguez

nitsnets | studioswww.nitsnets.com

www.lostiemposcambian.com