SlideShare una empresa de Scribd logo
1 de 30
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
Algunas cosas sobre mi... ,[object Object]
Equipo CakePHP desde el 2007
Equipo Lithium desde su fundación
CRICAVA, la mejor compañía del mundo
AMO Seinfeld (...y El Eternauta)
ODIO Apple
¡Voy a ser miramarense! Ya sé... se mueren de envidia
¿WTF? ,[object Object]
Usemos los anteojos de Mariano PHP4 y 5.3??
¿Y entonces? ,[object Object]
PHP 5.3 ,[object Object]
PHP 5.3 ,[object Object]
mysqlnd (= abran la cabeza: Mongo, Couch)
Late static binding
Namespaces
Funciones lambda
Closures (CALIENTE!)
Autoloaders (5.1) ,[object Object]
El credo Lithium ,[object Object]
Creemos en lo RAD ,[object Object]
El dream team ,[object Object]
Garrett Woodworth – Ex PM CakePHP – Project Manager
Joël Perras – Ex Core CakePHP – Core Dev
Wil Sinclair – Ex Lead Zend Framework – Core  Dev
John Anderson – Ex Doc Lead en CakePHP - Documentación Lead
David Persson – Ex Core CakePHP - G11 Dev
El dream team ,[object Object]
Ben Ramsey – Libros, PHP Architect, fundador PHPCommunity
Jon Adams – Design Lead

Más contenido relacionado

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

BilboStack - Php en el 2012
BilboStack - Php en el 2012BilboStack - Php en el 2012
BilboStack - Php en el 2012Asier Marqués
 
Python y la POO, en una clase, UNNe-Corrientes
Python y la POO, en una clase, UNNe-CorrientesPython y la POO, en una clase, UNNe-Corrientes
Python y la POO, en una clase, UNNe-Corrientesalexis ibarra
 
Symfony2 Introducción
Symfony2 IntroducciónSymfony2 Introducción
Symfony2 Introducciónstrate
 
Desarrollo de aplicaciones web con PHP y symfony
Desarrollo de aplicaciones web con PHP y symfonyDesarrollo de aplicaciones web con PHP y symfony
Desarrollo de aplicaciones web con PHP y symfonyJuan Eladio Sánchez Rosas
 
Framework Laravel
Framework LaravelFramework Laravel
Framework LaravelRafael Lobo
 
Retos en la Adopción del Refactoring - Junta General del MexALN 28/06/2012
Retos en la Adopción del Refactoring - Junta General del MexALN 28/06/2012Retos en la Adopción del Refactoring - Junta General del MexALN 28/06/2012
Retos en la Adopción del Refactoring - Junta General del MexALN 28/06/2012Alfredo Chavez
 
El poder de los reptiles: Hacer herramientas de hacking es fácil
El poder de los reptiles: Hacer herramientas de hacking es fácilEl poder de los reptiles: Hacer herramientas de hacking es fácil
El poder de los reptiles: Hacer herramientas de hacking es fácilDaniel Garcia (a.k.a cr0hn)
 
Seguridad en Apache
Seguridad en ApacheSeguridad en Apache
Seguridad en Apachemagnobalt
 
WordPress PHP
WordPress PHPWordPress PHP
WordPress PHPCODECTION
 
Codemotion Madrid 2013 - [PHP] desarrollo de extensiones en c c++
Codemotion Madrid 2013 - [PHP] desarrollo de extensiones en c c++Codemotion Madrid 2013 - [PHP] desarrollo de extensiones en c c++
Codemotion Madrid 2013 - [PHP] desarrollo de extensiones en c c++Daniel González Cerviño
 
El tutorial de pythonnnn
El tutorial de pythonnnnEl tutorial de pythonnnn
El tutorial de pythonnnnYordan Ramos
 

Similar a Mariano Iglesias: Lithium - Un framework que pega como piña (20)

BilboStack - Php en el 2012
BilboStack - Php en el 2012BilboStack - Php en el 2012
BilboStack - Php en el 2012
 
Taller php9
Taller php9Taller php9
Taller php9
 
Python y la POO, en una clase, UNNe-Corrientes
Python y la POO, en una clase, UNNe-CorrientesPython y la POO, en una clase, UNNe-Corrientes
Python y la POO, en una clase, UNNe-Corrientes
 
Gestión Remota de Equipos con Python
Gestión Remota de Equipos con PythonGestión Remota de Equipos con Python
Gestión Remota de Equipos con Python
 
Symfony2 Introducción
Symfony2 IntroducciónSymfony2 Introducción
Symfony2 Introducción
 
Desarrollo de aplicaciones web con PHP y symfony
Desarrollo de aplicaciones web con PHP y symfonyDesarrollo de aplicaciones web con PHP y symfony
Desarrollo de aplicaciones web con PHP y symfony
 
Practica09
Practica09Practica09
Practica09
 
Tutorial de Python
Tutorial de PythonTutorial de Python
Tutorial de Python
 
Framework Laravel
Framework LaravelFramework Laravel
Framework Laravel
 
Retos en la Adopción del Refactoring - Junta General del MexALN 28/06/2012
Retos en la Adopción del Refactoring - Junta General del MexALN 28/06/2012Retos en la Adopción del Refactoring - Junta General del MexALN 28/06/2012
Retos en la Adopción del Refactoring - Junta General del MexALN 28/06/2012
 
Curso php desde_cero
Curso php desde_ceroCurso php desde_cero
Curso php desde_cero
 
Rendimiento extremo en php
Rendimiento extremo en phpRendimiento extremo en php
Rendimiento extremo en php
 
El poder de los reptiles: Hacer herramientas de hacking es fácil
El poder de los reptiles: Hacer herramientas de hacking es fácilEl poder de los reptiles: Hacer herramientas de hacking es fácil
El poder de los reptiles: Hacer herramientas de hacking es fácil
 
Seguridad en Apache
Seguridad en ApacheSeguridad en Apache
Seguridad en Apache
 
WordPress PHP
WordPress PHPWordPress PHP
WordPress PHP
 
Codemotion Madrid 2013 - [PHP] desarrollo de extensiones en c c++
Codemotion Madrid 2013 - [PHP] desarrollo de extensiones en c c++Codemotion Madrid 2013 - [PHP] desarrollo de extensiones en c c++
Codemotion Madrid 2013 - [PHP] desarrollo de extensiones en c c++
 
El tutorial de pythonnnn
El tutorial de pythonnnnEl tutorial de pythonnnn
El tutorial de pythonnnn
 
Tutorial python3
Tutorial python3Tutorial python3
Tutorial python3
 
Tutorial python3
Tutorial python3Tutorial python3
Tutorial python3
 
Tutorial python
Tutorial pythonTutorial python
Tutorial python
 

Último

Presentación de elementos de afilado con esmeril
Presentación de elementos de afilado con esmerilPresentación de elementos de afilado con esmeril
Presentación de elementos de afilado con esmerilJuanGallardo438714
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estossgonzalezp1
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxAlan779941
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfAnnimoUno1
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
presentacion de PowerPoint de la fuente de poder.pptx
presentacion de PowerPoint de la fuente de poder.pptxpresentacion de PowerPoint de la fuente de poder.pptx
presentacion de PowerPoint de la fuente de poder.pptxlosdiosesmanzaneros
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxLolaBunny11
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfJulian Lamprea
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanamcerpam
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxMiguelAtencio10
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfvladimiroflores1
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 

Último (15)

Presentación de elementos de afilado con esmeril
Presentación de elementos de afilado con esmerilPresentación de elementos de afilado con esmeril
Presentación de elementos de afilado con esmeril
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
presentacion de PowerPoint de la fuente de poder.pptx
presentacion de PowerPoint de la fuente de poder.pptxpresentacion de PowerPoint de la fuente de poder.pptx
presentacion de PowerPoint de la fuente de poder.pptx
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdf
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 

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

Notas del editor

  1. Desarrollar en PHP sin frameworks es suicida Esto produjo una avalancha de frameworks Los big three: CakePHP, ZF, Symfony Realmente era necesario otro framework?
  2. – 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
  3. 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
  4. 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
  5. PHP Standards Group = PHP Interoperability Group
  6. 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
  7. 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
  8. Un concepto bien AOP (Aspect Oriented Programming) Funciones secundarias aisladas de la lógica principal Más modularidad
  9. 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
  10. Línea de comandos: li3_bot y Tito en #php-ar
  11. 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)