Anda di halaman 1dari 32

ZanPHP Framework

Qu es un Framework?

Qu es un Framework?
Es un conjunto estandarizado de conceptos, prcticas y criterios para resolver un problema. En software es una estructura conceptual y tecnolgica de soporte definida. Con libreras, componentes y clases que facilitan el desarrollo gil, seguro y escalable. En otras palabras, es una forma de organizarnos.

Ventajas de utilizar un Framework


Escalabilidad y Mantenimiento. Independencia de la lgica de negocio e interfaz grfica (MVC: Modelo, Vista, Controlador). Desarrollo ms rpido y mejor. Libreras y cdigos ya realizados. Extensa documentacin.

Ventajas de utilizar un Framework


Independencia de base de datos. Suelen seguir la mayora de las mejores prcticas y patrones de diseo. Menos cdigo. Menos complejidad. Ms productividad. Menos costos.

Desventajas de utilizar un Framework


En ocasiones nos limitan por que no sabemos modificar algo del ncleo o no realiza lo que pensamos que debera. No me siento realizado (no todo es mo). Curva de aprendizaje mayor en algunos frameworks.

Al final nos fijamos en lo importante

Importante!, un framework es una metodologa pero no lo hace todo solo.

Qu es ZanPHP?

Qu es ZanPHP?
ZanPHP es un framework de desarrollo gil de aplicaciones Web escrito en PHP5 el cual utiliza distintos patrones de diseo y las mejores prcticas para crear aplicaciones ms rpidamente y con buena calidad de cdigo.

Por qu usar ZanPHP?


Fcil de instalar y configurar. Fcil 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 diseo y las mejores prcticas para producir cdigo de mayor calidad. Aplicaciones escalables y fciles de mantener. Documentacin en Ingls y Espaol. Es Software Libre.

Requerimientos mnimos
PHP 5.1.X o superior. Bases de datos soportadas: MySQL, MySQLi, SQL Server 2008, PostgreSQL y SQLite. Bases de datos NoSQL soportadas: MongoDB.

Cmo Obtener ZanPHP?


Para obtener ZanPHP simplemente puedes clonar el repositorio de GIT (recomendado).
git clone git@github.com:MilkZoft/ZanPHP.git

O Descargarlo directamente en:


https://github.com/MilkZoft/ZanPHP

Se qu es MVC, pero HMVC?

MVC
ZanPHP implementa uno de los patrones de diseo ms utilizados en la actualidad por la mayora de frameworks de desarrollo web. Este patrn, es denominado: MVC, por sus siglas en ingls (Model View Controller).

MVC

HMVC

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

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; } }

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

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

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 Im the agenda controller; } }

Aplicaciones
Crear una aplicacin en ZanPHP es muy fcil, solo es necesario crear un directorio dentro de applications/, el directorio deber llevar el nombre de la aplicacin en minsculas, y dentro de este las carpetas controllers, models y views.

Aplicaciones
Estructura bsica de una aplicacin: -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 mtodos ($firstName, getIP(), $this>getContact()). 2. Acrnimos, nombres propios, o palabras que deban tener mayscula se escriben tal cual ($HTML, $URL, $IP, etc.). 3. Definimos constantes con un guin bajo al principio y se tambin se utiliza camelCase (_webName).

Convenciones de desarrollo

4. La primera letra de cada palabra en una clase se escribe en mayscula 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 codificacin.

Proyectos bajo ZanPHP


1. 2. 3. 4. 5. 6. 7. MuuCMS (Manejador de Contenidos) http://www.milkzoft.com http://www.zanphp.com http://www.canacocolima.com.mx http://www.larutadelcafecomala.com http://www.pancolima.org.mx/ http://www.diputadospancolima.com

Entre otros...

Documentacin
Puedes acceder a la documentacin del framework en las siguientes direcciones. En Espaol: http://zanphp.com/wiki/ En Ingls: http://zanphp.com/wiki/Homepage

Mejoras en ZanPHP v.2.4


Se elimino la librera AdoDB. Mejora y correccin de errores en el ActiveRecord. Nueva clase Data para procesar la informacin. Nuevo helper files. Se integraron excepciones. Ms de 150 errores fueron corregidos. Integracin con API de Twitter.

Que novedades tendr ZanPHP v.2.5?


Integracin con CouchDB. Integracin con API de Facebook. Integracin con Doctrine 2. Integracin de Memcached. Scaffolding. Integracin con Framework de CSS: 960gs.

Gracias por su atencin


Ing. Carlos Santana Roldn Email: carlos@milkzoft.com Siguenos en Twitter: @ZanPHP @Czantany

WWW.ZANPHP.COM

Anda mungkin juga menyukai