nn

20
Los Frameworks de PHP agilizan tu trabajo PUBLICADO EN JULIO 31, 2007 Aprende más sobre este tema con la guía Zend , la guia Symfony y te recomendamos que veas “Frameworks PHP hispanos” . Los Frameworks ayudan en el desarrollo de software, proporcionan una estructura definida la cual ayuda a crear aplicaciones con mayor rapidez. Ayuda a la hora de realizar el mantenimiento del sitio gracias a la organización durante el desarrollo de la aplicación. Los Frameworks son desarrollados con el objetivo de brindarles a los programadores y diseñadores una mejor organización y estructura a sus proyectos. Se utiliza la Programación Orientada a Objetos (POO ), permitiendo la reutilización de nuestro código. A continuación las características de algunos de los Frameworks para PHP más usados. Zend Frameworks El Zend Frameworks es simple, no necesita instalación especial, requiere PHP 5 e incorpora el patrón MVC.

Transcript of nn

Page 1: nn

Los Frameworks de PHP agilizan tu trabajoPUBLICADO EN JULIO 31, 2007

Aprende más sobre este tema con la guía Zend, la guia Symfony y te recomendamos que veas “Frameworks PHP hispanos”.Los Frameworks ayudan en el desarrollo de software, proporcionan una estructura definida la cual ayuda a crear aplicaciones con mayor rapidez. Ayuda a la hora de realizar el mantenimiento del sitio gracias a la organización durante el desarrollo de la aplicación.

Los Frameworks son desarrollados con el objetivo de brindarles a los programadores y diseñadores una mejor organización y estructura a sus proyectos.

Se utiliza la Programación Orientada a Objetos (POO), permitiendo la reutilización de nuestro código. A continuación las características de algunos de los Frameworks para PHPmás usados.

Zend FrameworksEl Zend Frameworks es simple, no necesita instalación especial, requiere PHP 5 e incorpora el patrón MVC.

Se debe descargar y copiarlo hacia nuestro servidor local, veamos a través de un pequeño ejemplo cómo podemos crear un lector de RSS. Los ficheros que creemos podemos copiarlos dentro del directorio “library”.

<?php

Page 2: nn

// Componente requerido

require_once 'Zend/Feed.php';

// Incluimos la dirección de nuestro fichero rss que deseamos importar

$feed = Zend_Feed::import('http://localhost/rss.php');

// Se recorrerán todos los item del fichero, mostrando el titulo y el enlace

foreach ($feed->items as $item) {

echo "<p>" . $item->title() . "<br />";

echo $item->link() . "</p>";

}

?>

SymfonyDiseñado con el objetivo de optimizar la creación de las aplicaciones web, con el uso de sus características. Posee una librería de clases que permiten reducir el tiempo de desarrollo.

Symfony está desarrollado en PHP5, se puede utilizar en plataformas *nix (Unix, Linux) y Windows. Requiere de una instalación, configuración y líneas de comando, incorpora el patrón MVC, soporta AJAX, plantillas y un gran número de bases de datos.

Page 3: nn

Luego de descargar, debemos desempaquetar hacia un directorio dentro de nuestro servidor web. Puede configurar el archivo “symfony.bat” e introducir la ruta completa del archivo “php.exe” en la línea 34.

set PHP_COMMAND=c:/xampp/xampp/php/php.exe

Si nos encontramos en el directorio “sf_sandbox” podemos ir a las líneas de comando y conocer la versión del framework: symfony -V. Podemos verificar la creación de nuestro proyecto introduciendo en el navegador, por ejemplo:http://localhost/sf_sandbox/web/frontend_dev.phpLa estructura de los directorios es:

sf_sandbox/ // directorio del proyecto

apps/ // archivos de la aplicación

batch/ // procesos

cache/ // cache

config/ // configuración

data/ // archivos y códigos de datos

doc/ // documentación

lib/ // librerías y códigos de proposito general

log/ // archivos de log

plugins/ // plugins

test/ // tests

Page 4: nn

web/ // directorio público

Si deseamos crear un weblog debemos crear el archivo “schema.yml” en el directorio “sf_sandbox/config/”. Después de haberlo creado podemos usar las siguientes líneas de comando dentro del directorio “sf_sandbox/”:

symfony propel-generate-crud frontend post Post : crear y listar Post.

symfony propel-generate-crud frontend comment Comment : crear y listar comentarios.

symfony clear-cache : limpiar la cache.

Los modulos serán creados en “sf_sandbox\apps\frontend\modules\”. Podemos ver el resultado:

http://localhost/sf_sandbox/web/frontend_dev.php/post http://localhost/sf_sandbox/web/frontend_dev.php/

comment

Se puede acceder a los archivos y modificar las plantillas a nuestro gusto.

SeagullEl framework Seagull, nos permite realizar una programación modular, posee un Sistema de Gestión de Contenidos (CMS).

Entre sus características de encuentran su compatibilidad con PHP 4 y PHP 5, ORM integrado, incorpora el patrón MVC, uso de templates, soporte para múltiples bases de datos, validación de datos, alto nivel de configuración, autentificación, integración de librerías PEAR.

Debemos descargar el framework, luego descomprimirlo hacia un directorio dentro de nuestro servidor web. Luego introducimos la dirección en nuestro navegador para realizar su instalación. Ejemplo: http://localhost/seagull/www/.

Page 5: nn

Debemos completar los 6 pasos siguientes:

Aceptar la licencia Autorización

Debemos crear en el directorio el archivo “AUTH.txt” que contenga el código generado o descargarlo en “seagull/”. Si se crea correctamente podremos continuar al siguiente paso.

Detección: aquí se detectará los módulos disponibles, así como la configuración y versión de PHP.

Conexión con las bases de datos: debemos configurar los datos necesarios para realizar la conexión con el servidor de base de datos.

Configuración de la base de datos: introducir el nombre de la base de datos. Se puede utilizar una existente.

Creación del Usuario Administrador: se creará la cuenta de usuario que utilizaremos para administrar a Seagull Framework.

Luego de Finalizar su instalación podemos crear contenidos visitandohttp://localhost/ seagull/www/ e introduciendo el usuario y clave de administración.

PradoPrado está basado en componentes eventos con el objetivo de acelerar el desarrollo de aplicaciones web usando PHP 5.

El concepto del desarrollo de aplicaciones en Prado es diferente, se utilizan componentes, eventos y propiedades en vez de procedimientos, URL y parámetros.

Este Framework combina especificaciones en un archivo XML, plantillas HTML y una clase PHP. Prado, cuenta con soporte para AJAX, validación, autentificación, plantillas, múltiples bases de datos.

Entre los beneficios que podemos encontrar para el desarrollo de aplicaciones web se encuentran:

Page 6: nn

Reutilización: los códigos y componentes pueden ser reutilizados.

Fácil uso: la creación y uso de componentes es fácil.

Funcionamiento: utiliza una técnica de caché para asegurar el funcionamiento de aplicaciones basadas en el.

Integración: permite la separación del contenido y la presentación.

Podemos descargar y descomprimir Prado en un directorio, luego acceder al siguiente demo.

Hello World:

Esta aplicación cuenta con los archivos index.php, Home.page y Home.php, organizados con la siguiente estructura, la cual puede ser modificada:

assets : almacena archivos privados publicados. protected: aquí se almacenarán los archivos que serán

usados.

runtime: se almacena la información runtime de la aplicación, así como su estado, este directorio debe tener acceso de escritura por el servidor web.

pages: aquí se almacenan todas las páginas de Prado.

Descripción del contenido de los archivos:

Index.php: código de entrada para la aplicación en Prado. Este fichero es necesario para todas las aplicaciones. El contenido del archivo es el siguiente:

Page 7: nn

require_once('path/to/prado.php'); // incluye el código de prado

$application=new TApplication; // se crea una instancia de la aplicación PRADO

$application->run(); // ejecuta la aplicación

Home.page: Plantilla de la página. La misma describe la posición de los componentes. Aquí se utilizan los componentes TForm y TButton.

<html>

<head>

<title>Hello World Demo- Prado</title>

</head>

<body>

<com:TForm>

<com:TButton Text="Click me" OnClick="buttonClicked" />

</com:TForm>

</body>

</html>

Home.php: clase para la página Home.page, contiene los métodos para el evento OnClick del botón.

Page 8: nn

class Home extends TPage

{

public function buttonClicked($sender,$param)

{

$sender->Text="Hello World!";

}

}

En el ejemplo anterior tendrémos un botón con el texto “Click me” al oprimirlo cambiará el texto por “Hello World!”. Podemos ver los demos que incluye este frameworkhttp://localhost//prado/demos/.Si presentamos algún problema podemos verificar sus requerimientoshttp://localhost/prado/requirements/index.php.Espera la segunda parte de este artículo sobre los Frameworks de PHP, en donde hablaremos sobre CodeIgniter, CakePHP, PHP on TRAX y entraremos en detalle sobre MVC.

Page 9: nn

Los Frameworks de PHP agilizan tu trabajo IIPUBLICADO EN AGOSTO 2, 2007

Existen al rededor de 40 Frameworks para PHP y cada uno tiene funciones distintas. En los dos artículos sobre cómo los Frameworks en PHP agilizan tu trabajo, se mencionan los más utilizados y populares. Descubre la segunda parte.

Siguiendo con la lista de los Frameworks de PHP más utilizados, haré una descripción un poco más detallada sobre CodeIgniter, CakePHP, PHP on TRAX, WACT y ZooP Framework, que complementa el primer artículo.

CodeIgniterCodeIgniter es un buen framework, utilizado por una gran comunidad de usuarios. Construido para codificadores PHP que necesitan una herramienta de desarrollo fácil para crear aplicaciones web simples y elegantes.

Entre sus características podemos encontrar su compatibilidad con PHP 4 y PHP 5, incorpora el modelo MVC, soporte para múltiples bases de datos, plantillas, validaciones, no requiere instalación, podemos encontrar una librería con un gran número de clases.

Podemos descargarlo y descomprimir este paquete dentro un directorio en nuestro servidor web.

Cómo instalar CodeIgniter:Debemos acceder al archivo “application/config/config.php” e introducir la URL de nuestro sitio. Si realizaremos conexiones con nuestro servidor de base de datos necesitaremos configurar el archivo “application/config/database.php” e introducir los datos necesarios para realizar la conexión como son: host del

Page 10: nn

servidor, usuario, contraseña, nombre de la base de datos, driver a utilizar (mysql, postgre, oracle, etc).

Crea tu primera aplicación con CodeIgniter:CodeIgniter framework contiene un directorio donde se crearán las vistas “view” y los controles “controllers”. Crearemos nuestra primera vista en “application/views/” y la llamaremos “aplicacionview.php” con el contenido:

<html>

<head>

<title><?=$title;?></title>

</head>

<body>

<h1><?=$heading;?></h1>

<h3>Mi aplicación</h3>

<ul>

<?php foreach($todo_list as $item):?>

<li><?=$item;?></li>

<?php endforeach;?>

</ul>

</body>

</html>

Page 11: nn

Luego crearemos el control para esta vista en “application/controller/” llamado “aplicacion.php” con el siguiente código:

<?php

//Aplicación es el nombre del control

class Aplicación extends Controller {

function index()

{

//utilizamos un array

$data['todo_list'] = array('Chat', 'Encuesta', 'Correo');

// títulos y bienvenida de la aplicación

$data['title'] = "Mi aplicación";

$data['heading'] = "Bienvenidos a mi aplicación";

//nombre de la vista que deseamos cargar

$this->load->view('aplicacionview', $data);

}

}

?>

Page 12: nn

Para ver nuestra aplicación solo basta con introducir en la URL:http://localhost/CodeIgniter/index.php/aplicacion/

CakePHPCakePHP   es un Framework similar a CodeIgniter de desarrollo rápido. Es una estructura de librerías y clases para programar aplicaciones web. Su base es el Framework de Ruby on Rails.

Nos brinda la posibilidad de interactuar con las base de datos, usando ActiveRecord. Incorpora el patrón MVC, compatible con PHP4 y PHP5, URLs amigables, Soporta AJAX, incluye caching, validación.

Debemos descargarlo, descomprimirlo y hacer un directorio. La estructura de directorios es la siguiente:

.../(Directorio donde se encuentra instalado)

/app

/config

/controllers

/models

/plugins

/tmp

/vendors

/views

/webroot (se incluirán imagines, javascript, css)

.htaccess

index.php

Page 13: nn

/cake

/vendors

.htaccess

index.php

El directorio “app/tmp/” debe tener permiso de escritura. Podemos observar el sitio enhttp://localhost/cake/. Para editar la página es necesario crear un documento dentro del directorio “/app/views/pages/” con el nombre “home.html“:

<h1>PRUEBA</h1>

Para modificar el diseño se debe crear un documento en “/app/views/layouts/” con el nombre “default.html”:

<html>

<head>

<title><?php echo $title_for_layout?></title>

</head>

<body>

<!-- Aquí se mostrarán las vistas -->

<?php echo $content_for_layout ?>

Page 14: nn

</body>

</html>

También podemos hacer uso de controles, modelos, entre otros.

PHP on TRAXEl PHP on TRAX   es compatible con PHP5, incluye el patrón MVC, incluye validación y AJAX, múltiples bases de datos. Podemos descargarlo y descomprimirlo hacia un directorio en nuestro servidor web.

Zoop FrameworkZoop es un Framework PHP Orientado a Objeto basado en el modelo MVC, sus desarrolladores lo caracterizan por ser rápido, eficiente y fácil destinado para programadores.

Requiere PHP 4.3.10 o superior, además podemos contar con librerías para “PEAR”. Cuenta con soporte e integración con AJAX, caching, validación, sistemas de plantillas Smarty, creación de PDF, plantillas para el envío de correo electrónico usando SMTP, cuenta con compatibilidad con múltiples base de datos.

Debemos descargar los archivos que encontramos en el repositorio y descomprimirlos hacia un directorio de nuestro servidor web. Los usuarios pueden encontrar en su comunidad: blog, foros de discusión, listas de correo, documentación, video demostraciones, ejemplos sobre el uso de las librerías “Prototype”.

Luego nos permite acceder al directorio de “skeleton” y configurar el archivo “config.php”, donde debemos definir la ruta del framework: define(‘zoop_dir’, app_dir . “c:/apache/htdocs/zoop”);

WACT

Page 15: nn

Por sus siglas en ingles “Web Application Component Toolkit” es un frameworks para el desarrollo de aplicaciones web.

Facilita un aprovechamiento modular, sus componentes permiten la integración con otras aplicaciones web. Implementa el patrón MVC. La versión actual de WACT requiere PHP 5, por ahora solo está disponible desde Subversión.

Términos:

¿Qué es MVC?Por sus siglas en inglés Model View Controller significa Modelo Vista Controlador. El mismo es un patrón de arquitectura de software, el cuál nos permite realiza la programación multicapa, separando en una aplicación los datos, la interfaz del usuario y la lógica.

Los framework son de gran utilidad, ayudan en la rapidez para el desarrollo de las diferentes aplicaciones.

El número de ellos va en aumento, solo nos queda elegir el mejor según nuestras necesidades y los requerimientos de los mismos. Los motivo a que comprueben sus ventajas, posibilidades y nos escriban sus comentarios.

Page 16: nn