Taller de zan php

Post on 08-Jun-2015

2.496 views 3 download

description

presentación del taller de zanphp

Transcript of Taller de zan php

ZanPHP Framework

¿Qué es un Framework?

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

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?

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

¿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

PHP 5.1.X o superior.Bases de datos soportadas: MySQL, MySQLi, SQL

Server 2008, PostgreSQL y SQLite.Bases de datos NoSQL soportadas: MongoDB.

¿Cómo 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 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).

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 aplicación.

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 aplicación.

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.

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

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.

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

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.

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

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

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.

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

Gracias por su atención

Ing. Carlos Santana Roldán

Email:carlos@milkzoft.com

Siguenos en Twitter: @ZanPHP

@Czantany

WWW.ZANPHP.COM