Estás en Inicio / Editorial / PHP
31.07.2007
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.
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>";
}
?>
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/”:
Los modulos serán creados en “sf_sandbox\apps\frontend\modules\”. Podemos ver el resultado:
Se puede acceder a los archivos y modificar las plantillas a nuestro gusto.
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:
AUTH.txt” que contenga el código generado o descargarlo en “seagull/”. Si se crea correctamente podremos continuar al siguiente paso.Luego de Finalizar su instalación podemos crear contenidos visitando http://localhost/ seagull/www/ e introduciendo el usuario y clave de administración.
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:
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:

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:
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.
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 framework http://localhost//prado/demos/.
Si presentamos algún problema podemos verificar sus requerimientos http://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.
Califica esta nota:
Damián Pérez Valdés
Webmaster, Administrador de Sistemas, con experiencia en desarrollo web y de aplicaciones.
Si eres nuevo en Maestros del Web y te agradan nuestras publicaciones, te invitamos a suscribirte a nuestro Feed.
Sindícanos en: Google Reader, Bloglines, My Yahoo o My MSN | ¿Qué es el Feed?
35 comentarios en total.
Muy bueno el artículo. Pero, no veo que este incluido el framework CakePHP, que al parecer, tambien es muy bueno y tiene muchas características interesantes.
Un vínculo muy bueno para ver las diferencias entre los frameworks de desarrollo más importantes es:
http://www.phpit.net/article/ten-different-php-frameworks/
Siempre el desarrollo con un framewok hace que nuestro desarrollo se aminore, pero que pasa cuando queremos que talvez para proyectos que puedan llegar a un potencial mucho mayor el uso de tal o cual herramienta puede hacer dificil una migración.
Juan Manuel, como verás en el último párrafo, hay otros Frameworks que mencionar incluyendo Cake PHP. Así que te invito a que estes pendiente de la segunda parte del artículo para que nos déjes tus comentarios. Saludos.
Muy buen articulo.
Excelente artículo, nada más a esperar la segunda parte ![]()
Me ha gustado el artículo, me ha puesto al día que hace un tiempo que estoy desconectado de los frameworks open source de PHP.
Esperaré pendiente a la segunda parte.
Me ha gustado el artículo, me ha puesto al día que hace un tiempo que estoy desconectado de los frameworks open source de PHP.
Estaré pendiente a la segunda parte.
y cakephp?
Los frameworks más utilizados de PHP con mucha diferencia son CakePHP y Symfony.
Para el que le pueda interesar, Yahoo ha elegido Symfony como su framework oficial. La aplicación Yahoo Bookmarks está construida completamente con Symfony y las aplicaciones Yahoo Answers y del.icio.us tienen partes que se están rehaciendo con Symfony.
Faltan varios frameworks importantes, hablando de TemplatePower, XAJAX, etc.
Interesante el artículo, siempre voy a tener presente la elección de un Framework dependiendo de la complejidad del trabajo, y me encanta que hayan más de los que pensaba (no conocia al Prado).
En fin, me gustaría ver el siguiente artículo, ya que hablarán de los Frameworks que mas he venido trabajando: CodeIgniter y el CakePHP.
Lo que agilizan el trabajo es relativo. Primero hay que aprender todo el framework antes de acelerar el trabajo. Hasta ahora, he encontrado un poco complicados de usar estos frameworks… de estos que se han mencionado, ¿cual es más fácil de digerir?
excelente articulo, en el siguiente espero no olvides al buen Code Igniter.
Chauu
Me parece un articulo interesante pero no suficiente.
Como ya dijeron faltan CakePHP y por supuesto mi favorito: Code Igniter.
http://www.codeigniter.com/
CI es muy flexible, facil de usar y rápido. Trabaja con PHP4. Utiliza MVC pero no obliga a seguir un método de programación. Es algo asi como: puedes programar con Modelo-Vista-Controlador, pero si quieres olvidate del modelo, incluso de las vistas y usa solo el controlador…
Además está claramente documentado y es libre. En los demos hacen un blog en 20 minutos!
Esteban, hoy se ha publicado la segunda parte del artículo en donde encontrarás la información que mencionas, esperamos tus comentarios.
Me gusto mucho..me gustaria que me recomendaran un framework…esoty investigando..y e he puesto a ver los q hay de AJAX…cual me recomiendan?
Hola Ariel, a mi me gusta CodeIgniter, hasta ahora no tiene soporte para AJAX, si necesitas AJAX podrias usar CakePHP, tambien te recomiendo que pruebes Prado me parece interesante los componentes y propiedades que incluye aunque quizas sea dificil dominarlo, y puede ser un poco lento.
La versión 4 de PHP lleva mas de 8 años y es completamente obsoleto. Por respeto a la comunidad que tanto esta luchando para que la gente la deje de usar, te pido que no hagas referencia a frameworks antiguas y obsoletas como Cake o CodeIgniter. El código es terriblemente malo, inseguro y no aprovecha todo lo que PHP 5 tiene para ofrecer… desde hace ya unos cuantos años.
Estoy empezando con Symfony y me ha gustado bastante, aparte tiene un completo manual en español y gratis.
http://www.librosweb.es/symfony/index.html
una comunidad en google en español:
http://groups.google.com/group/symfony-es
pagina de symfony en español
http://www.symfony.es/
pagina oficial de symfony en ingles
http://www.symfony-project.com/
Que hay de Kumbia? http://www.kumbia.org
Gracias Alejandro por los links de Symfony realmente muy buenos.
Pienso igual que Juan Velazco, KUMBIA me parece magnifico … no lo dejeis de lado, ya que esta totalmente en ESPAÑOL.
Hay que potenciar lo nuestro.
Saludos
PHP anuncio hace rato que deja de mantener la versión 4, por lo tanto, cualquier desarrollador que utiliza una versión obsoleta de un lenguaje de programación, no se lo puede considerar serio ni responsable. Lo siento amigos, pero Cake y CodeIgniter fueron desarrollados con un lenguaje que hoy es obsoleto, tan difícil es de entender?
Excelente Damian! muy buen aporte y punto de vista. Desde Paraguay! Un fuerte abrazo!
Excelente, me ha sido muy util esta info…
Saludos
Puestos a comparar (aunque no sea entre PHP), ¿qué os parece Ruby on Rails (RoR)? ¿Alguien lo ha utilizado? ¿Que nos haga una pequeña reseña comparado con alguno de PHP?
Yo estoy mirando algo de Ruby, y la verdad es que es la leche.
Saludos.
hola estoy haciendo mi tesis en php es un sistema de avaluos y catastros del sector rural de un municipio y necesito saber una tecnologia q me permita utilizar con php
Es una forma de educarnos en la programación, yo vi prado y les aconsejo
Como introduccion, bien pero se queda un muy corto de como empezar a utilizar mas de lleno el prado.
Es solo una introduccion, deberia existir uno mas completo.
El uso de frameworks como estos es un riesgo para el desarrollo. Depender de terceros para lo que constituye el “core” de nuestra aplicación no es recomendable.
Pongamos un ejemplo: Code Igniter esta basado en PHP4. PHP4 se descontinuara dentro de un més. Así que quien haya desarrolado su aplicación basandose en CodeIgniter se encontrará que su aplicación utiliza software descontinuado y que no está en su mano sustituirlo por PHP5, pues deberá esperar a que quien desarolla CodeIgniter lo adapten a la nueva versión.
Recomiendo encarecidamente el uso de frameworks solo para casos puntuales y siempre para solucionar problemas que no tengan solución de forma estándar.
Luis por la misma regla de tres, tampoco deberían utilizarse lenguajes como PHP, mejor ensamblador, y desarrollaríamos nuestras propias bases de datos y librerías para todo.
Si se tiene capacidad para desarrollar un framework, adelante es un buen ejercicio, aunque son pocos los elegidos. Si no utilizar un framework existente, por lo menos producirá un código de cierta calidad. Mantener las aplicaciones en todos sus componentes es responsabilidad de sus creadores.
Siguiendo tu razonamiento cada programador estaría reinventado la rueda constantemente, no parece la mejor forma de avanzar.
Saludos
Jose
hola..estoy programando un portal utilizando el framework prado..necesito que me hablen mas de el, por ejemplo las dificultades que puede presentar, los disimiles errores que el mismo puede presentar…
necesito una comparacion bastante sustentada entre el prado y el Symfony..
Un Framework interesante es PHP4ECore, pueden descargarlo desde php4e.codeman.cl
Yo estoy de acuerdo con Jose Valle, no deberiamos de reinventar la rueda si tenemos herramientas que estan fundamentadas en la reutilizacion como es el caso de los framworks aunque a algunos les falta aun mucha documentacion para ser mas accesibles.
La orientacion a objetos por ejemplo se concebió con ese fin, y aun existen muchos programadores que no la utilisan como debe ser y seguimos reinventando cosas y creando mil formularios siempre con el mismo fin.
9 trackbacks en total.
Maestros del Web es el punto de encuentro para los entusiastas de la red.
Creative Commons by-nc-sa 3.0 | Política de Privacidad | CMS: Wordpress