SlideShare une entreprise Scribd logo
1  sur  41
Télécharger pour lire hors ligne
Presentación de zan php
¿Qué es un Framework?
¿Qué es un Framework?


 Es un conjunto estandarizado de conceptos, prácticas
  y criterios para resolver un problema.
 En otras palabras, es una forma de organizarnos.
Ventajas de utilizar
                         un Framework

 Escalabilidad y Mantenimiento.
 Independencia de la lógica de negocio e interfaz
  gráfica (MVC: Modelo, Vista, Controlador).
 Desarrollo más rápido y mejor.
 Librerías y códigos ya realizados.
 Extensa documentación.
Ventajas de utilizar
                          un Framework

 Independencia de base de datos.
 Suelen seguir la mayoría de las mejores prácticas y
  patrones de diseño.
 Menos código.
 Menos complejidad.
 Más productividad.
 Menos costos.
Desventajas de utilizar
                       un Framework

 En ocasiones nos limitan por que no sabemos
  modificar algo del núcleo o no realiza lo que
  pensamos que debería.
 No me siento realizado (no todo es mío).
 Curva de aprendizaje mayor en algunos frameworks.
Al final nos fijamos
   en lo importante
¡Importante!, un framework es una
metodología pero no lo hace todo
               solo.
¿Qué es ZanPHP?
Presentación de zan php
¿Por qué usar ZanPHP?


 Fácil de instalar y configurar.
 Fácil de aprender.
 Puedes crear casi cualquier tipo de aplicaciones Web.
 Compatible con distintas plataformas.
 Orientado a objetos.
¿Por qué usar ZanPHP?


 Utiliza varios patrones de diseño y las mejores
  prácticas para producir código de mayor calidad.
 Aplicaciones escalables y fáciles de mantener.
 Documentación en Inglés y Español.
 Es Software Libre.
Requerimientos mínimos
¿Cómo Obtener ZanPHP?


https://github.com/MilkZoft/ZanPHP
¿HMVC?
MVC
HMVC
Ejemplo de Modelo

class Agenda_Model extends ZP_Model {
           public function __construct() {
                       $this->Db = $this->db();
                       $this->table = "contacts";
           }

           public function getContact($contactID) {
                       $this->Db->table($this->table);

                       $data = $this->Db->find($contactID);

                       return $data;
           }
}
Ejemplo de Controlador

Class Agenda_Controller extends ZP_Controller {

    public function __construct() {
              $this->Templates = $this->core(“Templates”);

             $this->helpers();

             $this->Agenda_Model = $this->model(”Agenda_Model");

             $this->Templates->theme(_webTheme);
    }

    public function index() {
      print “Hi I’m the agenda controller”;
    }
}
Estructura de una
                                                  Aplicación

Estructura básica de una aplicación:
-applications/
          -blog/
                                             -controllers
                                              controller.blog.php
                             controller.comments.php
                   -models
                                              model.blog.php
                             model.comments.php
                   -views/
                             -css/
                                      comments.css
                                      posts.css
                             view.comments.php
                             view.posts.php
Convenciones de desarrollo


1. Utilizamos      camelCase         para        nombrar
   variables,       funciones          y         métodos
   ($firstName, getIP(), $this->getContact()).
2. Acrónimos, nombres propios, o palabras que deban
   tener    mayúscula       se    escriben     tal   cual
   ($HTML, $URL, $IP, etc.).
3. Definimos constantes con un guión bajo al principio
   y se también se utiliza camelCase (_webName).
Convenciones de desarrollo


4. La primera letra de cada palabra en una clase se
escribe en mayúscula y se separan por guion bajo.
class Blog_Model extends ZP_Controller…
class Templates extends ZP_Load…
$this->Blog_Model->getPost($postID);
$this->Templates->theme(_webTheme));
5. Evitar el “Spanglish” en la codificación.
Documentación

Puedes acceder a la documentación del framework en
las siguientes direcciones.

En Español:
http://zanphp.com/wiki/
En Inglés:
http://zanphp.com/wiki/Homepage
Mejoras en ZanPHP v.2.4

 Integración con bases de datos NoSQL: MongoDB.
 Integración de servicios RESTFul.
 Mejora y corrección de errores en el ActiveRecord.
 Nueva clase Data para procesar la información.
 Nuevo helper files.
 Mejora en el dispatcher de URLs.
 Se integraron excepciones.
 Más de 150 errores fueron corregidos.
 Integración con API de Twitter.
¿Que novedades tendrá
                          ZanPHP v.2.5?

 Integración con CouchDB.
 Integración con API de Facebook.
 Integración con Doctrine 2.
 Integración de Memcached.
 Scaffolding.
 Integración con Framework de CSS: 960gs.
Difusión de ZanPHP
Difusión de ZanPHP


 Barcamp, Campus Party 3, México, DF. Julio, 2011.
Difusión de ZanPHP


 Congreso nacional de PHP, México DF, Agosto 2011.
Difusión de ZanPHP


 Entrevista en 120segundos.com, Agosto 2011.
Difusión de ZanPHP


 Artículo: Frameworks PHP Hispanos por Maestros del
  Web, Septiembre 2011.
Difusión de ZanPHP


 Entrevista en mejorando.la, Septiembre 2011.
Difusión de ZanPHP

 Artículo: Los Grandes Impulsores de PHP por Maestros del Web, Septiembre 2011
Difusión de ZanPHP


 Festival de Software Libre 2011, Puerto Vallarta, Jalisco.
  Octubre 2011.
Difusión de ZanPHP


 Aldea Digital, México, DF, Noviembre 2011.
Comunidad


Los invitamos a formar parte de la comunidad
 de PHPeros en México siguiendo a
 @programasphp y a la comunidad de ZanPHP
 siguiendo a @ZanPHP.
¿Algún Proyecto?
MuuCMS

Clona el repositorio desde:
https://github.com/MilkZoft/MuuCMS

Siguenos en Twitter:
@MuuCMS

¡Colabora!
MuuCMS
MuuCMS
MuuCMS
Gracias por su
                       atención
           Ing. Carlos Santana Roldán

           Email:
           carlos@milkzoft.com

           Siguenos en Twitter:
                @ZanPHP
                @Czantany




WWW.ZANPHP.COM

Contenu connexe

Tendances

Tendances (20)

Desarrollo Web Ágil con Symfony, Bootstrap y Angular
Desarrollo Web Ágil con Symfony, Bootstrap y AngularDesarrollo Web Ágil con Symfony, Bootstrap y Angular
Desarrollo Web Ágil con Symfony, Bootstrap y Angular
 
Tutorial de cakePHP itst
Tutorial de cakePHP itstTutorial de cakePHP itst
Tutorial de cakePHP itst
 
Introducción a Laravel 5 - Un Framework para Artesanos Web
Introducción a Laravel 5 - Un Framework para Artesanos WebIntroducción a Laravel 5 - Un Framework para Artesanos Web
Introducción a Laravel 5 - Un Framework para Artesanos Web
 
Php ppt
Php pptPhp ppt
Php ppt
 
Desarrollo de Aplicaciones con Ruby on Rails y PostgreSQL
Desarrollo de Aplicaciones con Ruby on Rails y PostgreSQLDesarrollo de Aplicaciones con Ruby on Rails y PostgreSQL
Desarrollo de Aplicaciones con Ruby on Rails y PostgreSQL
 
Kumbia php
Kumbia phpKumbia php
Kumbia php
 
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
 
Desarrollo rápido de apps web con laravel - DevAcademy
Desarrollo rápido de apps web con laravel - DevAcademyDesarrollo rápido de apps web con laravel - DevAcademy
Desarrollo rápido de apps web con laravel - DevAcademy
 
Intro a cakephp
Intro a cakephpIntro a cakephp
Intro a cakephp
 
Mis primeros pasos con Symfony 2
Mis primeros pasos con Symfony 2Mis primeros pasos con Symfony 2
Mis primeros pasos con Symfony 2
 
CRUD básico con Symfony
CRUD básico con SymfonyCRUD básico con Symfony
CRUD básico con Symfony
 
Introduccion a php
Introduccion a phpIntroduccion a php
Introduccion a php
 
Historia de PHP
Historia de PHPHistoria de PHP
Historia de PHP
 
Frameworks para Php Adwa
Frameworks para Php AdwaFrameworks para Php Adwa
Frameworks para Php Adwa
 
Curso Php
Curso PhpCurso Php
Curso Php
 
Manual De Php
Manual De PhpManual De Php
Manual De Php
 
Dreamweaver
DreamweaverDreamweaver
Dreamweaver
 
Primefaces
PrimefacesPrimefaces
Primefaces
 
Introducción a Kohana Framework
Introducción a Kohana FrameworkIntroducción a Kohana Framework
Introducción a Kohana Framework
 
Ruby on Rails - ETyC 2011
Ruby on Rails - ETyC 2011Ruby on Rails - ETyC 2011
Ruby on Rails - ETyC 2011
 

Similaire à Presentación de zan php

Tutorial MVC - Zenphp - Programador PHP
Tutorial MVC - Zenphp - Programador PHPTutorial MVC - Zenphp - Programador PHP
Tutorial MVC - Zenphp - Programador PHPJuan Belón Pérez
 
Exposicion Akelos
Exposicion AkelosExposicion Akelos
Exposicion Akelosdokeosla
 
Zenphp - Presentación de Septiembre en la Etsiit - Programador PHP
Zenphp - Presentación de Septiembre en la Etsiit - Programador PHPZenphp - Presentación de Septiembre en la Etsiit - Programador PHP
Zenphp - Presentación de Septiembre en la Etsiit - Programador PHPJuan Belón Pérez
 
Primeros pasos Symfony PHPVigo
Primeros pasos Symfony PHPVigoPrimeros pasos Symfony PHPVigo
Primeros pasos Symfony PHPVigoPHP Vigo
 
Framework kahana
Framework kahanaFramework kahana
Framework kahanaH31D1
 
Proyectos escalables con Drupal
Proyectos escalables con DrupalProyectos escalables con Drupal
Proyectos escalables con DrupalPablo Cerda
 
Desarrollo Aplicaciones Zend Framework
Desarrollo Aplicaciones Zend FrameworkDesarrollo Aplicaciones Zend Framework
Desarrollo Aplicaciones Zend Frameworkricsoc
 
Meetup training Taller RoR
Meetup training Taller RoR Meetup training Taller RoR
Meetup training Taller RoR cdechauri
 
Presentacion Ruby on Rails CTIC-Cusco2007
Presentacion Ruby on Rails CTIC-Cusco2007Presentacion Ruby on Rails CTIC-Cusco2007
Presentacion Ruby on Rails CTIC-Cusco2007JuancaPompilla
 
Introducción a Zend Framework
Introducción a Zend FrameworkIntroducción a Zend Framework
Introducción a Zend FrameworkIrontec
 
Joomla!Day 2011 España - Taller desarrollo de plantillas Joomla! - Sergio Igl...
Joomla!Day 2011 España - Taller desarrollo de plantillas Joomla! - Sergio Igl...Joomla!Day 2011 España - Taller desarrollo de plantillas Joomla! - Sergio Igl...
Joomla!Day 2011 España - Taller desarrollo de plantillas Joomla! - Sergio Igl...SergioIglesiasNET
 
Chamilo para-desarrolladores-1.9
Chamilo para-desarrolladores-1.9Chamilo para-desarrolladores-1.9
Chamilo para-desarrolladores-1.9Chamilo Association
 

Similaire à Presentación de zan php (20)

Taller de zan php
Taller de zan phpTaller de zan php
Taller de zan php
 
Tutorial MVC - Zenphp - Programador PHP
Tutorial MVC - Zenphp - Programador PHPTutorial MVC - Zenphp - Programador PHP
Tutorial MVC - Zenphp - Programador PHP
 
Exposicion Akelos
Exposicion AkelosExposicion Akelos
Exposicion Akelos
 
Zenphp - Presentación de Septiembre en la Etsiit - Programador PHP
Zenphp - Presentación de Septiembre en la Etsiit - Programador PHPZenphp - Presentación de Septiembre en la Etsiit - Programador PHP
Zenphp - Presentación de Septiembre en la Etsiit - Programador PHP
 
Atix13
Atix13Atix13
Atix13
 
Primeros pasos Symfony PHPVigo
Primeros pasos Symfony PHPVigoPrimeros pasos Symfony PHPVigo
Primeros pasos Symfony PHPVigo
 
Atix13
Atix13Atix13
Atix13
 
ATIX13
ATIX13ATIX13
ATIX13
 
Framework kahana
Framework kahanaFramework kahana
Framework kahana
 
Proyectos escalables con Drupal
Proyectos escalables con DrupalProyectos escalables con Drupal
Proyectos escalables con Drupal
 
Desarrollo Aplicaciones Zend Framework
Desarrollo Aplicaciones Zend FrameworkDesarrollo Aplicaciones Zend Framework
Desarrollo Aplicaciones Zend Framework
 
Funciones en php
Funciones en phpFunciones en php
Funciones en php
 
Meetup training Taller RoR
Meetup training Taller RoR Meetup training Taller RoR
Meetup training Taller RoR
 
Mvc
MvcMvc
Mvc
 
Presentacion Ruby on Rails CTIC-Cusco2007
Presentacion Ruby on Rails CTIC-Cusco2007Presentacion Ruby on Rails CTIC-Cusco2007
Presentacion Ruby on Rails CTIC-Cusco2007
 
Framework
FrameworkFramework
Framework
 
Introducción a Zend Framework
Introducción a Zend FrameworkIntroducción a Zend Framework
Introducción a Zend Framework
 
Welcome to Django
Welcome to DjangoWelcome to Django
Welcome to Django
 
Joomla!Day 2011 España - Taller desarrollo de plantillas Joomla! - Sergio Igl...
Joomla!Day 2011 España - Taller desarrollo de plantillas Joomla! - Sergio Igl...Joomla!Day 2011 España - Taller desarrollo de plantillas Joomla! - Sergio Igl...
Joomla!Day 2011 España - Taller desarrollo de plantillas Joomla! - Sergio Igl...
 
Chamilo para-desarrolladores-1.9
Chamilo para-desarrolladores-1.9Chamilo para-desarrolladores-1.9
Chamilo para-desarrolladores-1.9
 

Presentación de zan php

  • 2. ¿Qué es un Framework?
  • 3. ¿Qué es un Framework?  Es un conjunto estandarizado de conceptos, prácticas y criterios para resolver un problema.  En otras palabras, es una forma de organizarnos.
  • 4. Ventajas de utilizar un Framework  Escalabilidad y Mantenimiento.  Independencia de la lógica de negocio e interfaz gráfica (MVC: Modelo, Vista, Controlador).  Desarrollo más rápido y mejor.  Librerías y códigos ya realizados.  Extensa documentación.
  • 5. Ventajas de utilizar un Framework  Independencia de base de datos.  Suelen seguir la mayoría de las mejores prácticas y patrones de diseño.  Menos código.  Menos complejidad.  Más productividad.  Menos costos.
  • 6. Desventajas de utilizar un Framework  En ocasiones nos limitan por que no sabemos modificar algo del núcleo o no realiza lo que pensamos que debería.  No me siento realizado (no todo es mío).  Curva de aprendizaje mayor en algunos frameworks.
  • 7. Al final nos fijamos en lo importante
  • 8. ¡Importante!, un framework es una metodología pero no lo hace todo solo.
  • 11. ¿Por qué usar ZanPHP?  Fácil de instalar y configurar.  Fácil de aprender.  Puedes crear casi cualquier tipo de aplicaciones Web.  Compatible con distintas plataformas.  Orientado a objetos.
  • 12. ¿Por qué usar ZanPHP?  Utiliza varios patrones de diseño y las mejores prácticas para producir código de mayor calidad.  Aplicaciones escalables y fáciles de mantener.  Documentación en Inglés y Español.  Es Software Libre.
  • 16. MVC
  • 17. HMVC
  • 18. Ejemplo de Modelo class Agenda_Model extends ZP_Model { public function __construct() { $this->Db = $this->db(); $this->table = "contacts"; } public function getContact($contactID) { $this->Db->table($this->table); $data = $this->Db->find($contactID); return $data; } }
  • 19. Ejemplo de Controlador Class Agenda_Controller extends ZP_Controller { public function __construct() { $this->Templates = $this->core(“Templates”); $this->helpers(); $this->Agenda_Model = $this->model(”Agenda_Model"); $this->Templates->theme(_webTheme); } public function index() { print “Hi I’m the agenda controller”; } }
  • 20. Estructura de una Aplicación Estructura básica de una aplicación: -applications/ -blog/ -controllers controller.blog.php controller.comments.php -models model.blog.php model.comments.php -views/ -css/ comments.css posts.css view.comments.php view.posts.php
  • 21. Convenciones de desarrollo 1. Utilizamos camelCase para nombrar variables, funciones y métodos ($firstName, getIP(), $this->getContact()). 2. Acrónimos, nombres propios, o palabras que deban tener mayúscula se escriben tal cual ($HTML, $URL, $IP, etc.). 3. Definimos constantes con un guión bajo al principio y se también se utiliza camelCase (_webName).
  • 22. Convenciones de desarrollo 4. La primera letra de cada palabra en una clase se escribe en mayúscula y se separan por guion bajo. class Blog_Model extends ZP_Controller… class Templates extends ZP_Load… $this->Blog_Model->getPost($postID); $this->Templates->theme(_webTheme)); 5. Evitar el “Spanglish” en la codificación.
  • 23. Documentación Puedes acceder a la documentación del framework en las siguientes direcciones. En Español: http://zanphp.com/wiki/ En Inglés: http://zanphp.com/wiki/Homepage
  • 24. Mejoras en ZanPHP v.2.4  Integración con bases de datos NoSQL: MongoDB.  Integración de servicios RESTFul.  Mejora y corrección de errores en el ActiveRecord.  Nueva clase Data para procesar la información.  Nuevo helper files.  Mejora en el dispatcher de URLs.  Se integraron excepciones.  Más de 150 errores fueron corregidos.  Integración con API de Twitter.
  • 25. ¿Que novedades tendrá ZanPHP v.2.5?  Integración con CouchDB.  Integración con API de Facebook.  Integración con Doctrine 2.  Integración de Memcached.  Scaffolding.  Integración con Framework de CSS: 960gs.
  • 27. Difusión de ZanPHP  Barcamp, Campus Party 3, México, DF. Julio, 2011.
  • 28. Difusión de ZanPHP  Congreso nacional de PHP, México DF, Agosto 2011.
  • 29. Difusión de ZanPHP  Entrevista en 120segundos.com, Agosto 2011.
  • 30. Difusión de ZanPHP  Artículo: Frameworks PHP Hispanos por Maestros del Web, Septiembre 2011.
  • 31. Difusión de ZanPHP  Entrevista en mejorando.la, Septiembre 2011.
  • 32. Difusión de ZanPHP  Artículo: Los Grandes Impulsores de PHP por Maestros del Web, Septiembre 2011
  • 33. Difusión de ZanPHP  Festival de Software Libre 2011, Puerto Vallarta, Jalisco. Octubre 2011.
  • 34. Difusión de ZanPHP  Aldea Digital, México, DF, Noviembre 2011.
  • 35. Comunidad Los invitamos a formar parte de la comunidad de PHPeros en México siguiendo a @programasphp y a la comunidad de ZanPHP siguiendo a @ZanPHP.
  • 37. MuuCMS Clona el repositorio desde: https://github.com/MilkZoft/MuuCMS Siguenos en Twitter: @MuuCMS ¡Colabora!
  • 41. Gracias por su atención Ing. Carlos Santana Roldán Email: carlos@milkzoft.com Siguenos en Twitter: @ZanPHP @Czantany WWW.ZANPHP.COM