Algunos frameworks para PHP más usados

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.

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
// 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>";
}
?>

Symfony

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

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

La 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
 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_sandboxappsfrontendmodules”. 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.

Seagull

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

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 visitando http://localhost/ seagull/www/ e introduciendo el usuario y clave de administración.

Prado

Prado 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:

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

CodeIgniter

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

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

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

CakePHP

CakePHP 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
    /cake
    /vendors
    .htaccess
    index.php

El directorio “app/tmp/” debe tener permiso de escritura. Podemos observar el sitio en http://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 ?>
</body>
</html>

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

PHP on TRAX

El 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 Framework

Zoop 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

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.

AKELOS PHP FRAMEWORK

Es una plataforma de desarrollo de aplicaciones web basado en el MVC (Modelo Vista Controlador), patrón de diseño. Sobre la base de las buenas prácticas, que lo permite:

1.- Escribir opiniones usando Ajax fácilmente
2.- Control de las solicitudes y las respuestas a través de un controlador
3.- Gestión de aplicaciones internacionalizadas
4.- Comunicar los modelos y la base de datos mediante simples convenciones

Su Akelos puede ejecutar aplicaciones basadas en la mayoría de los proveedores de servicios de alojamiento compartido, ya que sólo requiere Akelos PHP estará disponible en el servidor. Esto significa que el Akelos PHP Framework es el candidato ideal para la distribución independiente de las aplicaciones web, ya que no requiere ningun estándar para ejecutar la configuración de PHP. Descargar Akelos.

Comments

Bueno recientemente estoy usando AKelos Framework, y me parece que es super bueno para aquellos que les gusta la programación orientada a objetos, particularmente estoy contento trabajando con él, obviamente se los recomiendo y agradesco a este articulo por mostrarnos toda el potencial de estos sistemas.

Llevo usando CakePHP por aproximadamente 2 meses y creo que es bastate bueno ha reducido mis tiempos de desarrollo notablemente y lo mas importante es que separa el diseño de la programación. Lo cual es bastante tipico (y mal hecho) en muchos programadores de PHP que generan su html usando el lenguaje.

La consola genera el andamiaje para los metodos administrativos CRUD en menos de 30 segundos! es lo maximo

interesante framework joanhey, ya me lo descargué,ahora voy a probarlo, te agradesco por comentar acerca de eso ya tenemos una alternativa más acerca de frameworks en php

Estoy utilizando CodeIgnite y me parece un muy ben framework. por otra parte no me gusto CakePHP debido a que no admito que tenga que ajustarme a usar las tablas todas en plurar y el campo id de las misma solamente deba llamarse Id. no admito que un framework me limite y me diga que e slo que debo hacer con mi modelos de datos.

Cada framework tiene sus ventajas y desventajas, pero en más proporción son ventajas, te facilita y ordena la realización de tu código y eso es una gran ventaja, dokeos actualmente esta usando akelos que te permite escribir opiniones usando ajax fácilmente,gestionar las aplicaciones internacionalizadas,
comunicar los modelos y la base de datos mediante simples convenciones, entre otras cosas. Gracias por mandar sus comentarios eso nos ayuda a entender más las características de cada framework y hacer una estadística de los más usados hasta ahora