Mariano Iglesias: Lithium - Un framework que pega como piña

  • 2,300 views
Uploaded on

Charla de Mariano Iglesias titulada "Lithium - Un framework que pega como piña" en las Primeras Charlas del Grupo PHP Argentina

Charla de Mariano Iglesias titulada "Lithium - Un framework que pega como piña" en las Primeras Charlas del Grupo PHP Argentina

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
2,300
On Slideshare
0
From Embeds
0
Number of Embeds
1

Actions

Shares
Downloads
19
Comments
0
Likes
1

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide
  • Desarrollar en PHP sin frameworks es suicida Esto produjo una avalancha de frameworks Los big three: CakePHP, ZF, Symfony Realmente era necesario otro framework?
  • – CakePHP Trabajo desde 2007 Escribiendo un libro PHP4 support -> PHP5 en Cake 2.0 – Zend Framework PEAR mezclado con algunos conceptos FW Se empezo a ordenar con el tiempo ZF 2.0 recien empieza a usar namespaces – Symfony Sin closures ni lambdas! One man show: Fabien Potencier Symfony Reloaded: ”El framework mas Fabien” – Code Igniter PHP4 support No hay plan visible para adopcion 5.3 – Solar Tomy, el hijo del vasko Cosas muy interesantes Demasiado joven todavia One man show: Paul M. Jones
  • PHP4 cumplio con su cometido PHP5 trajo mas conceptos de OOP – Yay! PHP5.3 nos hace sentir la diferencia No se bien quien es el de la foto, pero lo envidio Aunque pronto yo voy a estar en su lugar
  • Performance: 20% en aplicaciones migradas Mysqlnd nativo en PHP, más rápido! NoSQL: Couch y Mongo Late static binding: sobrecarga de métodos estáticos Funciones lambda: del cálculo lambda Autoloader del PHP Interoperability Group
  • PHP Standards Group = PHP Interoperability Group
  • No hay mejor framework basado realmente en PHP 5.3 que Lithium Obviamente habrá gente que no opina lo mismo, y frente a ellos voy a dejar que Simba responda
  • Los únicos módulos necesarios para utilizar otros módulos son core y util El resto de los módulos puede funcionar independientemente Así podemos construir aplicaciones basadas en micro-frameworks hechos con Lithium
  • Un concepto bien AOP (Aspect Oriented Programming) Funciones secundarias aisladas de la lógica principal Más modularidad
  • Cuando hay más de 3 parámetros, usamos array $_autoConfig especifica qué keys de __construct($config) debieran ser procesados, y cómo Por defecto, las keys que están en $_autoConfig y son especificadas en __construct($config) se vuelven disponibles como $this->_var lithium_qa usa los estándares de lithium y chequea la sintaxis, mostrando violaciones Gracias a lithium_qa podríamos automatizar el chequeo en un post commit hook y así rechazar código que no cumpla con los estándares
  • Línea de comandos: li3_bot y Tito en #php-ar
  • Logging: parte del módulo analysis. Gracias a los filtros, podríamos utilizarlo para loguear consultas SQL Debugger: parte del módulo analysis, tiene métodos como trace() y export(), para los que no tienen xdebug y su versión de var_dump() Parser: también del módulo analysis. Parser::tokenize(CODIGO) devuelve el código fuentes dividido en tokens (T_VARIABLE, etc.) Inspector: también del módulo analysis. Utiliza Reflection para obtener propiedades, métodos, líneas de código, y más Collections: del paquete util, utilizada en RecordSet y todo lugar con colexiones iterables. Collection::each(LAMBDA)

Transcript

  • 1. Primeras charlas del Grupo PHP Lithium Un framework que pega como piña Mariano Iglesias – Coding Ninja http://marianoiglesias.com.ar http://twitter.com/mgiglesias
  • 2. Algunas cosas sobre mi...
    • C -> C++ -> Java -> PHP & Python
    • 3. Equipo CakePHP desde el 2007
    • 4. Equipo Lithium desde su fundación
    • 5. CRICAVA, la mejor compañía del mundo
    • 6. AMO Seinfeld (...y El Eternauta)
    • 7. ODIO Apple
    • 8. ¡Voy a ser miramarense! Ya sé... se mueren de envidia
  • 9. ¿WTF?
    • ¡¿¡¿¡¿¡¿¡¿ Otro framework ?!?!?!?!?!
  • 10. Usemos los anteojos de Mariano PHP4 y 5.3??
  • 11. ¿Y entonces?
      </MalaOnda>
  • 12. PHP 5.3
      PHP 5.3
  • 13. PHP 5.3
    • Performance, pero ¡posta posta!
    • 14. mysqlnd (= abran la cabeza: Mongo, Couch)
    • 15. Late static binding
    • 16. Namespaces
    • 17. Funciones lambda
    • 18. Closures (CALIENTE!)
    • 19. Autoloaders (5.1)
      • Pero con namespaces... ¡qué placer!
  • 20. El credo Lithium
    • Creemos en la interoperabilidad
      • PHP Standards Group (Symfony, Zend, Lithium)
    • Creemos en la meritocracia
      • A ver... Ni democracia, ni dictadura
    • Creemos en la comunidad
    • 21. Creemos en lo RAD
      • Iteration-Friday.net
  • 22. El dream team
    • Nate Abele - Ex-lead CakePHP – Lead
    • 23. Garrett Woodworth – Ex PM CakePHP – Project Manager
    • 24. Joël Perras – Ex Core CakePHP – Core Dev
    • 25. Wil Sinclair – Ex Lead Zend Framework – Core Dev
    • 26. John Anderson – Ex Doc Lead en CakePHP - Documentación Lead
    • 27. David Persson – Ex Core CakePHP - G11 Dev
  • 28. El dream team
    • Sean Coates – Core PHP (Documentación)
    • 29. Ben Ramsey – Libros, PHP Architect, fundador PHPCommunity
    • 30. Jon Adams – Design Lead
    • 31. Matt Harris – Core dev
    • 32. Jeff Loiselle – Ex Core dev CakePHP - Core dev
    • 33. Marke Hallowell – Core Dev
  • 34. El dream team
    • Alexander Morland – Ex promotor CakePHP - Core Dev y promotor de la comunidad
    • 35. Y yo... Focalizado en integraciones
      • li3_doctrine
      • 36. li3_solar
  • 37. ¿Hay mujeres en la sala?
    • Lithium, partner principal de PHP Women
      • http://www.phpwomen.org/wordpress/partnerships-with-os-projects
  • 38. Características de Lithium
      El mejor framework PHP 5.3
  • 39. Características de Lithium
  • 46. Modularidad
    • ¿Querés moduralidad? ¡Ahí te va!
  • 47. Modularidad
    • Todo en lithium son módulos
  • 48. Interoperabilidad
    • ¿Hay una clase Zend que te rompe el bocho, y la querés usar? ¡Animate!
  • 49. Namespaces y lambdas
    • Extendiendo helpers
    • 50. Validator::add()
    • 51. ¡Incorporá lambdas en tu código!
      PHP != Java
  • 52. Extensibilidad
    • Plugins, Plugins y ¡más plugins!
    • 53. Que google ni google... Para los vagos (como yo), un repositorio central
  • 54. Extensibilidad
  • 55. Extensibilidad
    • Y ya está... usá lo que quieras, cuando quieras, donde quieras...
    • 56. Si esto no es extensibilidad, ¿qué es?
  • 57. Extensibilidad
    • ¿Doctrine2 es el mejor ORM del universo?
  • 58. Inyección de dependencia
    • Le decimos a una clase qué otras clases puede usar
  • 59. Filtros
      Bueno ahora prepárense... ¿Callbacks? Pfff... para los dinosaurios quizás
  • 60. Filtros
      Lambdas / Closures -> ¡Filtros!
  • 61. API sencilla y ordenada
    • Nombres y namespaces lógicos y sencillos
    • 62. Menos de 3 parámetros por método
    • 63. Object::__construct($config)
      • Object::$_autoConfig
      • 64. Object::$_config
    • Chequeamos nuestro propio código
      • lithium_qa
  • 65. Lithium es mucho más
    • Test Suite
    • 66. Línea de Comandos
    • 67. Data sources para BD basadas en documentos
    • 68. ORM basado en objetos
    • 69. g11n
    • 70. Autenticación
    • 71. Sesión y Cookies
    • 72. Autorización (1.0)
  • 73. Lithium es mucho más
  • 80. Andá y probalo che
  • 87. ¿Preguntas?
      Lithium Un framework que pega como piña
      ¿Pegó o no pegó?