Taller de zan php

32
ZanPHP Framework

description

presentación del taller de zanphp

Transcript of Taller de zan php

Page 1: Taller de zan php

ZanPHP Framework

Page 2: Taller de zan php

¿Qué es un Framework?

Page 3: Taller de zan php

¿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 de zan php

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 de zan php

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 de zan php

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 de zan php

Al final nos fijamos en lo importante

Page 8: Taller de zan php

¡Importante!, un framework es una metodología pero no lo hace todo solo.

Page 9: Taller de zan php

¿Qué es ZanPHP?

Page 10: Taller de zan php

¿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 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.

Page 12: Taller de zan php

¿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 de zan php

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 de zan php

¿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 de zan php

Se qué es MVC, pero ¿HMVC?

Page 16: Taller de zan php

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 de zan php

MVC

Page 18: Taller de zan php

HMVC

Page 19: Taller de zan php

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 de zan php

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 de zan php

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 de zan php

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 de zan php

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 de zan php

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 de zan php

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 de zan 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).

Page 27: Taller de zan php

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 de zan php

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 de zan php

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 de zan php

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 de zan php

¿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 de zan php

Gracias por su atención

Ing. Carlos Santana Roldán

Email:[email protected]

Siguenos en Twitter: @ZanPHP

@Czantany

WWW.ZANPHP.COM