Taller Zanphp
-
Upload
isidro-franco-garses -
Category
Documents
-
view
62 -
download
0
Transcript of Taller Zanphp
![Page 1: Taller Zanphp](https://reader034.fdocuments.ec/reader034/viewer/2022052620/5572131b497959fc0b919e0c/html5/thumbnails/1.jpg)
ZanPHP Framework
![Page 2: Taller Zanphp](https://reader034.fdocuments.ec/reader034/viewer/2022052620/5572131b497959fc0b919e0c/html5/thumbnails/2.jpg)
¿Qué es un Framework?
![Page 3: Taller Zanphp](https://reader034.fdocuments.ec/reader034/viewer/2022052620/5572131b497959fc0b919e0c/html5/thumbnails/3.jpg)
¿Qué es un Framework?
Es un conjunto estandarizado de conceptos, prácticas y criterios para resolver un problema.
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.
En otras palabras, es una forma de organizarnos.
![Page 4: Taller Zanphp](https://reader034.fdocuments.ec/reader034/viewer/2022052620/5572131b497959fc0b919e0c/html5/thumbnails/4.jpg)
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.
![Page 5: Taller Zanphp](https://reader034.fdocuments.ec/reader034/viewer/2022052620/5572131b497959fc0b919e0c/html5/thumbnails/5.jpg)
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.
![Page 6: Taller Zanphp](https://reader034.fdocuments.ec/reader034/viewer/2022052620/5572131b497959fc0b919e0c/html5/thumbnails/6.jpg)
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.
![Page 7: Taller Zanphp](https://reader034.fdocuments.ec/reader034/viewer/2022052620/5572131b497959fc0b919e0c/html5/thumbnails/7.jpg)
Al final nos fijamos en lo importante
![Page 8: Taller Zanphp](https://reader034.fdocuments.ec/reader034/viewer/2022052620/5572131b497959fc0b919e0c/html5/thumbnails/8.jpg)
¡Importante!, un framework es una metodología pero no lo hace todo solo.
![Page 9: Taller Zanphp](https://reader034.fdocuments.ec/reader034/viewer/2022052620/5572131b497959fc0b919e0c/html5/thumbnails/9.jpg)
¿Qué es ZanPHP?
![Page 10: Taller Zanphp](https://reader034.fdocuments.ec/reader034/viewer/2022052620/5572131b497959fc0b919e0c/html5/thumbnails/10.jpg)
¿Qué es ZanPHP?
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.
![Page 11: Taller Zanphp](https://reader034.fdocuments.ec/reader034/viewer/2022052620/5572131b497959fc0b919e0c/html5/thumbnails/11.jpg)
¿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.
![Page 12: Taller Zanphp](https://reader034.fdocuments.ec/reader034/viewer/2022052620/5572131b497959fc0b919e0c/html5/thumbnails/12.jpg)
¿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.
![Page 13: Taller Zanphp](https://reader034.fdocuments.ec/reader034/viewer/2022052620/5572131b497959fc0b919e0c/html5/thumbnails/13.jpg)
Requerimientos mínimos
PHP 5.1.X o superior.Bases de datos soportadas: MySQL, MySQLi, SQL
Server 2008, PostgreSQL y SQLite.Bases de datos NoSQL soportadas: MongoDB.
![Page 14: Taller Zanphp](https://reader034.fdocuments.ec/reader034/viewer/2022052620/5572131b497959fc0b919e0c/html5/thumbnails/14.jpg)
¿Cómo Obtener ZanPHP?
Para obtener ZanPHP simplemente puedes clonar el repositorio de GIT (recomendado).
git clone [email protected]:MilkZoft/ZanPHP.git
O Descargarlo directamente en: https://github.com/MilkZoft/ZanPHP
![Page 15: Taller Zanphp](https://reader034.fdocuments.ec/reader034/viewer/2022052620/5572131b497959fc0b919e0c/html5/thumbnails/15.jpg)
Se qué es MVC, pero ¿HMVC?
![Page 16: Taller Zanphp](https://reader034.fdocuments.ec/reader034/viewer/2022052620/5572131b497959fc0b919e0c/html5/thumbnails/16.jpg)
MVC
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).
![Page 17: Taller Zanphp](https://reader034.fdocuments.ec/reader034/viewer/2022052620/5572131b497959fc0b919e0c/html5/thumbnails/17.jpg)
MVC
![Page 18: Taller Zanphp](https://reader034.fdocuments.ec/reader034/viewer/2022052620/5572131b497959fc0b919e0c/html5/thumbnails/18.jpg)
HMVC
![Page 19: Taller Zanphp](https://reader034.fdocuments.ec/reader034/viewer/2022052620/5572131b497959fc0b919e0c/html5/thumbnails/19.jpg)
Modelo
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.).
Los modelos deben ser nombrados de la siguiente forma: model.mymodel.php y deben estar ubicadas en el directorio /models de cada aplicación.
![Page 20: Taller Zanphp](https://reader034.fdocuments.ec/reader034/viewer/2022052620/5572131b497959fc0b919e0c/html5/thumbnails/20.jpg)
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;}
}
![Page 21: Taller Zanphp](https://reader034.fdocuments.ec/reader034/viewer/2022052620/5572131b497959fc0b919e0c/html5/thumbnails/21.jpg)
Vistas
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.Las vistas deben ser nombradas de la siguiente forma: view.myview.php y deben estar ubicadas en el directorio /views de cada aplicación.
![Page 22: Taller Zanphp](https://reader034.fdocuments.ec/reader034/viewer/2022052620/5572131b497959fc0b919e0c/html5/thumbnails/22.jpg)
Controlador
Gestiona los requisitos del modelo y de la vista para procesar y mostrar datos (hacen el trabajo pesado).Los controladores deben ser nombrados de la siguiente forma: controller.mymodel.php y deben estar ubicadas en el directorio /controllers de cada aplicación.
![Page 23: Taller Zanphp](https://reader034.fdocuments.ec/reader034/viewer/2022052620/5572131b497959fc0b919e0c/html5/thumbnails/23.jpg)
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”; } }
![Page 24: Taller Zanphp](https://reader034.fdocuments.ec/reader034/viewer/2022052620/5572131b497959fc0b919e0c/html5/thumbnails/24.jpg)
Aplicaciones
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.
![Page 25: Taller Zanphp](https://reader034.fdocuments.ec/reader034/viewer/2022052620/5572131b497959fc0b919e0c/html5/thumbnails/25.jpg)
Aplicaciones
Estructura básica de una aplicación:-applications/
-blog/-controllerscontroller.blog.phpcontroller.comments.php-modelsmodel.blog.phpmodel.comments.php-views/-css/comments.cssposts.cssview.comments.phpview.posts.php
![Page 26: Taller Zanphp](https://reader034.fdocuments.ec/reader034/viewer/2022052620/5572131b497959fc0b919e0c/html5/thumbnails/26.jpg)
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).
![Page 27: Taller Zanphp](https://reader034.fdocuments.ec/reader034/viewer/2022052620/5572131b497959fc0b919e0c/html5/thumbnails/27.jpg)
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.
![Page 28: Taller Zanphp](https://reader034.fdocuments.ec/reader034/viewer/2022052620/5572131b497959fc0b919e0c/html5/thumbnails/28.jpg)
Proyectos bajo ZanPHP
1. MuuCMS (Manejador de Contenidos)2. http://www.milkzoft.com3. http://www.zanphp.com4. http://www.canacocolima.com.mx5. http://www.larutadelcafecomala.com6. http://www.pancolima.org.mx/7. http://www.diputadospancolima.com
Entre otros...
![Page 29: Taller Zanphp](https://reader034.fdocuments.ec/reader034/viewer/2022052620/5572131b497959fc0b919e0c/html5/thumbnails/29.jpg)
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
![Page 30: Taller Zanphp](https://reader034.fdocuments.ec/reader034/viewer/2022052620/5572131b497959fc0b919e0c/html5/thumbnails/30.jpg)
Mejoras en ZanPHP v.2.4
Se elimino la librería AdoDB.Mejora y corrección de errores en el ActiveRecord.Nueva clase Data para procesar la información.Nuevo helper files.Se integraron excepciones.Más de 150 errores fueron corregidos. Integración con API de Twitter.
![Page 31: Taller Zanphp](https://reader034.fdocuments.ec/reader034/viewer/2022052620/5572131b497959fc0b919e0c/html5/thumbnails/31.jpg)
¿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.
![Page 32: Taller Zanphp](https://reader034.fdocuments.ec/reader034/viewer/2022052620/5572131b497959fc0b919e0c/html5/thumbnails/32.jpg)
Gracias por su atención
Ing. Carlos Santana Roldán
Email:[email protected]
Siguenos en Twitter: @ZanPHP
@Czantany
WWW.ZANPHP.COM