ZanPHP es un framework PHP para desarrollo rápido de aplicaciones web siguiendo el patrón MVC. Para usar ZanPHP se debe descargar, configurar archivos como database.php y config.php, y crear aplicaciones con directorios, controladores, modelos y vistas. ZanPHP facilita el desarrollo con funciones integradas, soporte a múltiples bases de datos, y traducciones automáticas.
Introduccion, Instalacion, Configuracion e Implementacion Framework ZanPHP ITTEHUACAN JUAN_FRANCISCO_JMZ
1. INSTITUTO TECNOLOGICO DE TEHUACAN
INGENIERIA EN SISTEMAS COMPUTACIONALES
PROGRAMACIÓN WEB - ZanPHP - FRAMEWORK
EQUIPO:
Zan PHP -- by MilkZoft
- JUAN FRANCISCO JIMENEZ JIMENEZ
- EDMUNDO EMMANUEL MONTALVO VALDIVIA
2. INTRODUCCIÓN.
ZanPHP es un framework de desarrollo ágil de aplicaciones Web escrito
en PHP5 que utiliza diferentes patrones de diseño y las mejores
prácticas para crear aplicaciones más rápidamente con buena calidad
del código.
Algunas de las ventajas de ZanPHP son:
Fácil de instalar y configurar
Fácil de aprender
Usted puede crear casi cualquier tipo de aplicaciones web
Compatible con diferentes plataformas
Orientado a objetos
Utiliza muchos 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
Integración con jQuery y jQuery Mobile, Ajax y otras nuevas tecnologías
Es software libre
Requisitos del servidor
PHP 5.1.x o superior
Bases de datos soportadas: MySQL, MySQLi, MsSQL, Oracle, PostgreSQL y SQLite
Créditos
ZanPHP fue desarrollado por Carlos Santana (CEO de
MilkZoft). ZanPHP fue desarrollado en 2009, pero fue hasta julio de
2011 que se llevó a la decisión de liberarlo como software
libre. Actualmente el desarrollo de ZanPHP es mantenido por el equipo
de desarrollo y colaboradores de la comunidad MilkZoft. Cuenta con la
implementación de las mejores prácticas para desarrollar aplicaciones
más rápido y con mayor calidad.
3. INSTALACIÓN.
Para empezar a trabajar con ZanPHP, el primer paso necesario es para
descargarlo. Conseguir ZanPHP es fácil, sólo tiene que descargar el .zip
de: https://github.com/MilkZoft/ZanPHP o clone con git ejecutando el
comando:
git clone git@github.com:MilkZoft/ZanPHP.git
El siguiente paso es establecer las constantes de 2 archivos de
configuración. Estos archivos se encuentran en: / www / config
El primer archivo a modificar es el /www/config/config.example.php
usted debería cambiar o verificar que las siguientes constantes tengan
un valor correcto:
[“domain”]: sirve para especificar el dominio que nuestro sitio tendrá.
[“modRewrite”]: alterna la estilización de las URL (verdadero o falso).
[“webURL”]: URL le permite configurar el sitio en general será útil para
cargar imágenes, secuencias de comandos, etc.
[“defaultApplication”]: permite configurar la aplicación web por defecto
[“webSituation”]: alterna el acceso al sitio web (activo o inactivo)
[“webLanguage”]: configurar el idioma predeterminado del sitio web
El segundo archivo para configurar es /www/config/
database.example.php con los valores correctos para las siguientes
constantes:
“DB_DRIVER”: nos permite especificar el controlador de base de datos a
utilizar.
“DB_HOST”: nos permite configurar el host donde el servidor de base de datos
(normalmente localhost).
“DB_USER”: el usuario se conecte a la base de datos.
“DB_PWD”: contraseña para conectarse a la base de datos.
4. “DB_DATABASE”: el nombre de la base de datos a la que se conectará.
“DB_PORT”: puerto base de datos.
“DB_PREFIX”: el prefijo nuestras mesas tienen.
Una vez que estos pasos, tenemos ZanPHP listo para trabajar, sólo es
cuestión de empezar a crear aplicaciones.
Modelo Vista Controlador
ZanPHP implementa uno de los patrones de diseño utilizados en la
actualidad por la mayoría de los FRAMEWORKS de desarrollo web. Este
modelo, denominado MVC (Modelo Vista Controlador), implementado
como HMVC en ZanPHP, significa que, básicamente, el desarrollo se
divide en 3 partes principales: un modelo, una visión y un controlador,
solo que el equipo de milkzoft le ha agregado una caracteristica de
jerarquia que permite tener varios modelos, varias vistas y varios
controladores simultáneos para una sola aplicación. A continuación se
explica cada concepto en el MVC.
Modelo
Esta clase contendrá todas las funciones encomendadas a interactuar
con la estrategia de negocio de nuestra aplicación y por lo tanto el
tratamiento de los datos, en términos más técnicos, llevará a cabo
todos los tratamientos en nuestro identificador de datos de aplicaciones
(consultas, inserciones, actualizaciones y borrados). En sí, se refiere no
solo a bases de datos, sino a Web Services o documentos de diversos
tipos que puedan contener datos o resultados de consultas, y que
representen informacion relevante para nuestra aplicación.
Vista
Las vistas son responsables de la visualización de datos para el usuario,
pero también pueden ser utilizadas para solicitar datos, por supuesto,
5. esto de acuerdo a lo que se especifique. En el MVC aplicado al desarrollo
web puede ser descrito como el encargado de mostrar datos HTML
incluyendo su correspondiente estilo en CSS o Javascript.
Controlador
Esta clase es el administrador del flujo de la aplicación, es la encargada
de recibir solicitudes de los usuarios, identificar, procesar, enviar, llamar
a los métodos del modelo y devolver datos al usuario a través de una
vista.
En ZanPHP el MVC se aplica dentro de cada aplicación, debe crear dos
archivos en la carpeta de la aplicación: controller.application.php
model.application.php y también los archivos de vistas deben estar
dentro de la carpeta "vistas" de cada aplicación y ser nombradas
utilizando la siguiente convención: view.myview.php.
Archivos Estructura
www
Este directorio es el que contiene todas las aplicaciones desarrolladas
con ZanPHP, además de incluir archivos de la biblioteca, hay diferentes
tipos de archivos, entre los que destacan: las hojas de estilo, bibliotecas
externas, plantillas, imágenes y los archivos de cada aplicación.
zan
Este directorio es el que contiene todas las aplicaciones desarrolladas
con el directorio ZanPHP. La carpeta "zan" es la más importante pues
contiene el núcleo ZanPHP, en ella se encuentran los archivos de
configuración del sitio para desarrollar, así como clases del framework
importantes que apoyan la arquitectura misma, las traducciones, así
6. como todas las funciones (ayudantes) que el marco de trabajo (o
framework) ofrece para hacer el trabajo pesado.
Configuración
ZanPHP requiere un poco de configuración para que funcione
correctamente para ello, tiene que editar 2 archivos en / www / config,
estos son: config.php y database.php. (debe renombrarlos quitando la
extension: “.example”).
Tenga en cuenta que la configuración se basa en constantes PHP, y de
acuerdo con estos valores se establece como el funcionamiento del marco
o framework.
El primer archivo de configuración para analizar es: database.php, una
vez que el archivo está abierto se puede ver que esta es la configuración
necesaria para conectar con la base de datos para ser utilizados por el
sitio. Este archivo nos permite modificar las constantes durante 2 áreas
de trabajo, el trabajo local, o trabajar de forma remota.
El segundo archivo de configuración, config.php tendrá todas las
constantes para el funcionamiento de nuestro sitio, son constantes
globales, señalando que existen algunas constantes importantes
configuradas para el buen funcionamiento del sitio y el marco de
trabajo, estos incluyen:
domain: sirve para especificar el dominio que nuestro sitio tendrá.
modRewrite: alterna la estilización de las URL (verdadero o falso).
webURL: URL le permite configurar el sitio en general será útil para cargar
imágenes, secuencias de comandos, etc.
7. Bases de datos
Gracias a los patrones de diseño implementados por ZanPHP, puede
utilizar más de una base de datos del conductor en las páginas web,
esto significa que podemos trabajar en un sitio web bajo MySQL, SQL
Server y PostgreSQL.
Para ello, sólo es necesario, modificar el “DB_DRIVER” que es la
constante situada en el archivo: /www/config/database.php.
Aplicaciones
Crear una aplicación con ZanPHP es muy fácil, sólo tiene que crear un
directorio dentro de /applications, el directorio debe tener el nombre
de la aplicación en minúsculas. Tenga en cuenta que el nombre del
directorio que es el mismo con el que se va a acceder a la aplicación
desde el sitio web.
Otros aspectos a tener en cuenta, es que dentro del directorio de la
aplicación 2 archivos deben ser obligatorios, así como un directorio, que
son: /controllers/myapplication.php, /models/application.php y
/views/myapplication.php.
El contenido de estos archivos y el directorio se explicarán en los temas
siguientes.
Controladores
Los controladores son muy importantes en ZanPHP ya que son
indispensables para el uso de MVC. Es importante que cada aplicación
deba tener un controlador, un modelo y una vista como minimo.
8. Sin embargo, en este apartado se analizará la estructura que un
controlador debe tener para su correcto funcionamiento:
class MyApplication_Controller extends ZP_Controller {
public function __construct() {
$this->Templates = $this->core("Templates");
$this->MyApplication_Model = $this->model("MyApplication_Model");
$this->helpers();
$this->application = $this->app("myapplication");
$this->Templates->theme(webTheme);
}
public function index() {
print __("Hi, I'm MyApplication");
}
}
Esta es la estructura básica que cualquier controlador debe tener y
cumplir para el correcto funcionamiento del marco.
Vistas
Las vistas son responsabilidad de mostrar o solicitar datos al usuario. El
controlador es responsable de cargar la vista con los datos obtenidos por
los modelos. Así es como funciona el patrón de diseño MVC.
Las vistas deben ser nombrados de la siguiente manera: myview.php y
debe ser ubicado en la carpeta /views de cada aplicación.
Otro aspecto importante a mencionar sobre el directorio /views, es que
puede ser creada dentro otra carpeta de /css, /js o /images, donde se
pueden colocar hojas de estilo, scripts e imágenes que serán utilizadas
únicamente por la aplicación.
Modelos
9. Los modelos son una parte fundamental de una aplicación, ya que son
los encargados de interactuar con la base de datos, el modelo, clasificar
y organizar los datos.
Al igual que los controladores, los modelos tienen una estructura básica
que debe cumplirse para que funcione correctamente con ZanPHP:
class MyApplication_Model extends ZP_Model {
public function __construct() {
$this->Db = $this->db();
$this->helpers();
$this->table = "mytable";
}
}
Traducciones
ZanPHP soporta un sistema de traducciones fácil de usar, sólo tiene que
utilizar una función y un archivo donde se colocan las traducciones.
La función se usa como sigue:
<? php print __("Parte del texto a traducir"); ?>
Para completar el proceso de traducción, se debe añadir la traducción
en el siguiente directorio /www/lib/languages/spanish.php por ejemplo,
debe agregar la siguiente manera:
function translation($text) {
switch($text) {
case "Some text to translate": return "Algún texto para
traducir"; break;
}r
eturn $text;
}
10. IMPLEMENTACIÓN.
1er Paso. Descargar el ZanPHP del repositorio oficial de MilkZoft en Github. Descomprimirlo para
utilizarlo y renombrar los archivos, quitando la extension “.example”.
11. 2do Paso. Recordemos que para usarlo en local es necesario tener alguna de las herramientas de
servidor en la maquina, como pueden ser WAMP, XAMPP, APPSERVER, etc. E inciar los servicios de
Apache y MySql.
12. 3er Paso. Como podemos ver ya funciona y le podemos modificar un poco para saber que es lo que
ejecuta. En este caso al no haber configurado nada llama automaticamente a la aplicacion
“default” y ejecuta su funcion “index()”.
4to Paso. Ya hemos creado una nueva aplicacion con carpetas similares para adaptar al HMVC de
ZanPHP. Ahora tenemos la aplicación “works” y sobre ella podemos trabajar para hacer algo más
completo.
13. 5to Paso. Hay que aclarar que los datos de la pagina anterior se obtienen de una base de datos
como la siguiente. Y es el framework, atraves de php el que se encarga de obtener los campos y
sus valores para que sean utiles en la aplicación.
14. 6to Paso. Algo importante es que para utilizar una base de datos en ZanPHP deberemos
configurarla en el archivo “www/config/database.php”, poner por ejemplo el Gestor de base de
datos y su Driver o controlador, en el caso de MySQL es mysqli. El nombre del host, del usuario la
contraseña de phpMyAdmin, el nombre de la base de datos, incluso la opcion de un prefijo de
base de datos como sería “zan_” etc.
7mo Paso. Las siguientes capturas son parte del codigo de la pagina web mostrada en imagenes
anteriores. Se puede observar que el framework cuenta con funciones predeterminadas que se
convierten en un estandar. Asi como variables igualmente ya definidas a lo largo de toda la
aplicación. Dentro de sus funcionalidades esta el “paso de parámetros opcionales”, es decir se
puede definir algun valor para cuando no se le envie ese valor. Notese que es la función “render()”
la que en realidad crea la pagina en codigo html, ya con un estilo y con los datos de las variables.
15. 8vo Paso. Tambien en el controlador se puede especificar parametros opcionales, pero sobre todo
en esta parte -la funcion “all”- permite ver las funciones integradas dentro de la clase ‘Db’ del
framework, que permiten la comunicación con MySQL , SQL Server, PostgreSQL o casi cualquier
gestor de base de datos (ZanPHP aun no soporta todos). En su documentación se especifica cada
función, pero en este ejemplo las derivaciones de find son similares a muchos tipos de SELECT -
from - [where] en Bases de Datos, solo es necesario enviar el nombre de la tabla y un ID, una
condición, un campo, etc. Ya no es necesario formular toda la consulta a no ser que se requiera
como es el caso de findBySQL().
16. 9no Paso. Algo que podria resultar curioso es como se estructura el html final de la pagina, el que
hace que se vea, y es k no habiamos especificado las etiquetas <html> , <head> o <body> , pues
bien, la view (ejemplo: applications/works/views/works.php) solo crea una parte que agrupa en un
div con la clase “row”, esto para aplicarle algunos estilos con ayuda de Bootstrap, el framework de
CSS que esta incorporado en ZanPHP. Incluso se pueden notar algunas clases que estan definidas
para un estilo en Bootstrap como “span 4”. Ademas notese que en las primeras lineas 3 y 4, se usa
la función de traduccion, que para el caso de que se especifique un idioma como es, en, ch, jp, ru,
etc. en la URL, se traduzca automaticamente con apoyo de la libreria getText de PHP: __(“texto a
traducir”);
17. Aqui la pagina cuando se ha seleccionado la opcion Development.
18. 10mo Paso. Al ser php con lo que trabaja ZanPHP, permite la función die(var_dump()) que puede
utilizarse como un depurador, a continuacion el ejemplo permite saber lo que regresa la variable
$data despues de una consulta sql a nuestra base de datos.
11er Paso. Y por ultimo, una funcionalidad más de este framework, la posibilidad de dividir en
varios documentos html nuestra pagina web. Ya habiamos mencionado la vista, y que una
aplicacion puede tener N vistas, pero ademas de las view, ZanPHP reconoce otros archivos con
nombres estandar: header, footer, right, left.. y en caso de que existan los agrega automatico a
19. nuestra pagina html. Estos se encuentran en la carpeta themes, en este caso se utilizaron los
mismos de la aplicación “default”.
Cuando no tienen un nombre estandar como welcome, nuevo, mipagina, etc. Siempre pueden ser
llamados con la función render();
Esto es algo de lo observado en el Framework creado por Carlos Zantana, por cierto mexicano. Y al
parecer es una simple, sencilla y buena opcion al momento de crear sitios web.