Successfully reported this slideshow.

Taller de zan php

2,788 views

Published on

presentación del taller de zanphp

Published in: Technology
  • Be the first to comment

Taller de zan php

  1. 1. ZanPHP Framework<br />
  2. 2. ¿Qué es un Framework?<br />
  3. 3. ¿Qué es un Framework?<br /><ul><li>Es un conjunto estandarizado de conceptos, prácticas y criterios para resolver un problema.
  4. 4. En software es una estructura conceptual y tecnológica de soporte definida. Con librerías, componentes y clases que facilitan el desarrollo ágil, seguro y escalable.
  5. 5. En otras palabras, es una forma de organizarnos.</li></li></ul><li>Ventajas de utilizar un Framework<br /><ul><li>Escalabilidad y Mantenimiento.
  6. 6. Independencia de la lógica de negocio e interfaz gráfica (MVC: Modelo, Vista, Controlador).
  7. 7. Desarrollo más rápido y mejor.
  8. 8. Librerías y códigos ya realizados.
  9. 9. Extensa documentación.</li></li></ul><li>Ventajas de utilizar un Framework<br /><ul><li>Independencia de base de datos.
  10. 10. Suelen seguir la mayoría de las mejores prácticas y patrones de diseño.
  11. 11. Menos código.
  12. 12. Menos complejidad.
  13. 13. Más productividad.
  14. 14. Menos costos.</li></li></ul><li>Desventajas de utilizar un Framework<br /><ul><li>En ocasiones nos limitan por que no sabemos modificar algo del núcleo o no realiza lo que pensamos que debería.
  15. 15. No me siento realizado (no todo es mío).
  16. 16. Curva de aprendizaje mayor en algunos frameworks.</li></li></ul><li>Al final nos fijamos en lo importante<br />
  17. 17. ¡Importante!, un framework es una metodología pero no lo hace todo solo.<br />
  18. 18. ¿Qué es ZanPHP?<br />
  19. 19. ¿Qué es ZanPHP?<br />ZanPHP es un framework de desarrollo ágil de aplicaciones Web escrito en PHP5 el cual utiliza distintos patrones de diseño y las mejores prácticas para crear aplicaciones más rápidamente y con buena calidad de código.<br />
  20. 20. ¿Por qué usar ZanPHP?<br /><ul><li>Fácil de instalar y configurar.
  21. 21. Fácil de aprender.
  22. 22. Puedes crear casi cualquier tipo de aplicaciones Web.
  23. 23. Compatible con distintas plataformas.
  24. 24. Orientado a objetos.</li></li></ul><li>¿Por qué usar ZanPHP?<br /><ul><li>Utiliza varios patrones de diseño y las mejores prácticas para producir código de mayor calidad.
  25. 25. Aplicaciones escalables y fáciles de mantener.
  26. 26. Documentación en Inglés y Español.
  27. 27. Es Software Libre.</li></li></ul><li>Requerimientos mínimos<br /><ul><li>PHP 5.1.X o superior.
  28. 28. Bases de datos soportadas: MySQL, MySQLi, SQL Server 2008, PostgreSQL y SQLite.
  29. 29. Bases de datos NoSQL soportadas: MongoDB.</li></li></ul><li>¿Cómo Obtener ZanPHP?<br />Para obtener ZanPHP simplemente puedes clonar el repositorio de GIT (recomendado).<br />git clone git@github.com:MilkZoft/ZanPHP.git<br />O Descargarlodirectamente en: <br />https://github.com/MilkZoft/ZanPHP<br />
  30. 30. Se qué es MVC, pero ¿HMVC?<br />
  31. 31. MVC<br />ZanPHP implementa uno de los patrones de diseño más utilizados en la actualidad por la mayoría de frameworks de desarrollo web. Este patrón, es denominado: MVC, por sus siglas en inglés (Model View Controller). <br />
  32. 32. MVC<br />
  33. 33. HMVC<br />
  34. 34. Modelo<br />En pocas palabras es la clase que se encargará de interactuar con la fuente de datos (puede ser una base de datos o archivos XML, etc.).<br />Los modelos deben ser nombrados de la siguiente forma: model.mymodel.phpy deben estar ubicadas en el directorio /modelsde cada aplicación.<br />
  35. 35. Ejemplo de Modelo<br />classAgenda_ModelextendsZP_Model{ <br />publicfunction __construct() { <br />$this->Db = $this->db();<br />$this->table = "contacts"; <br />}<br />publicfunctiongetContact($contactID) { <br />$this->Db->table($this->table); <br />$data = $this->Db->find($contactID); <br />return$data; <br />}<br />}<br />
  36. 36. Vistas<br />Las vistas son las encargadas de mostrar o solicitar datos al usuario. El controlador es el encargado de cargar las vistas con los datos obtenidos mediante los modelos.<br />Las vistas deben ser nombradas de la siguiente forma: view.myview.php y deben estar ubicadas en el directorio /viewsde cada aplicación.<br />
  37. 37. Controlador<br />Gestiona los requisitos del modelo y de la vista para procesar y mostrar datos(hacen el trabajo pesado).<br />Los controladores deben ser nombrados de la siguiente forma: controller.mymodel.phpy deben estar ubicadas en el directorio /controllersde cada aplicación.<br />
  38. 38. Controlador<br />ClassAgenda_ControllerextendsZP_Controller{     publicfunction __construct() { <br />$this->Templates = $this->core(“Templates”);<br />$this->helpers();<br />  $this->Agenda_Model= $this->model(”Agenda_Model");        <br />$this->Templates->theme(_webTheme);    }     publicfunctionindex() {         print “Hi I’m the agenda controller”;    } } <br />
  39. 39. Aplicaciones<br />Crear una aplicación en ZanPHP es muy fácil, solo es necesario crear un directorio dentro de applications/, el directorio deberá llevar el nombre de la aplicación en minúsculas, y dentro de este las carpetas controllers, models y views. <br />
  40. 40. Aplicaciones<br />Estructurabásica de unaaplicación:<br />-applications/<br />-blog/<br />-controllerscontroller.blog.phpcontroller.comments.php<br />-models<br />model.blog.phpmodel.comments.php<br />-views/<br />-css/<br />comments.css<br />posts.css<br />view.comments.php<br />view.posts.php<br />
  41. 41. Convenciones de desarrollo<br />UtilizamoscamelCaseparanombrar variables, funcionesy métodos($firstName, getIP(), $this->getContact()).<br />Acrónimos, nombrespropios, o palabrasquedebantenermayúscula se escribentalcual ($HTML, $URL, $IP, etc.).<br />Definimosconstantes con un guiónbajo al principio y se también se utilizacamelCase (_webName).<br />
  42. 42. Convenciones de desarrollo<br />4. La primeraletra de cadapalabra en unaclase se escribe en mayúscula y se separanporguionbajo.<br />classBlog_ModelextendsZP_Controller…<br />classTemplates extendsZP_Load…<br />$this->Blog_Model->getPost($postID); <br />$this->Templates->theme(_webTheme));<br />5. Evitar el “Spanglish” en la codificación.<br />
  43. 43. Proyectos bajo ZanPHP<br />MuuCMS (Manejador de Contenidos)<br />http://www.milkzoft.com<br />http://www.zanphp.com<br />http://www.canacocolima.com.mx<br />http://www.larutadelcafecomala.com<br />http://www.pancolima.org.mx/<br />http://www.diputadospancolima.com<br />Entre otros...<br />
  44. 44. Documentación<br />Puedesacceder a la documentación del framework en lassiguientesdirecciones.<br />En Español: <br />http://zanphp.com/wiki/<br />En Inglés:<br />http://zanphp.com/wiki/Homepage<br />
  45. 45. Mejoras en ZanPHP v.2.4<br /><ul><li>Se elimino la libreríaAdoDB.
  46. 46. Mejora y corrección de errores en el ActiveRecord.
  47. 47. Nueva clase Data paraprocesar la información.
  48. 48. Nuevo helper files.
  49. 49. Se integraronexcepciones.
  50. 50. Más de 150 erroresfueroncorregidos.
  51. 51. Integración con API de Twitter.</li></li></ul><li>¿Que novedadestendrá ZanPHP v.2.5?<br /><ul><li>Integración con CouchDB.
  52. 52. Integración con API de Facebook.
  53. 53. Integración con Doctrine 2.
  54. 54. Integración de Memcached.
  55. 55. Scaffolding.
  56. 56. Integración con Framework de CSS: 960gs.</li></li></ul><li>Gracias por su atención<br />Ing. Carlos Santana Roldán<br />Email:<br />carlos@milkzoft.com<br />Siguenos en Twitter:<br />@ZanPHP<br /> @Czantany<br />WWW.ZANPHP.COM<br />

×