Maestros del Web


Estás en Inicio / Editorial / PHP

31.07.2007

Los Frameworks de PHP agilizan tu trabajo

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.

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

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.

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:

helloword.jpg

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

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:

1 estrella2 estrellas3 estrellas4 estrellas5 estrellas (12 votos, promedio: 3.58 de 5)
Loading ... Loading ...
Damián Pérez Valdés

Sobre el autor

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?

Comentarios

35 comentarios en total.

  1. Juan Manuel Lemus 31.07.2007 - 09:28 - #

    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.

  2. Stephanie Falla Aroche 31.07.2007 - 09:31 - #

    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.

  3. Milton 31.07.2007 - 10:19 - #

    Muy buen articulo.

  4. phpleo 31.07.2007 - 12:25 - #

    Excelente artículo, nada más a esperar la segunda parte :)

  5. Dani 31.07.2007 - 12:26 - #

    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.

  6. Dani 31.07.2007 - 12:26 - #

    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.

  7. wiaiaiai 31.07.2007 - 13:16 - #

    y cakephp?

  8. Javier Eguiluz 31.07.2007 - 14:36 - #

    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.

  9. Makesurfer 31.07.2007 - 21:37 - #

    Faltan varios frameworks importantes, hablando de TemplatePower, XAJAX, etc.

  10. eporroa 01.08.2007 - 00:27 - #

    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.

  11. Osvaldo Osorio 01.08.2007 - 10:09 - #

    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?

  12. mario 01.08.2007 - 10:40 - #

    excelente articulo, en el siguiente espero no olvides al buen Code Igniter.

    Chauu

  13. Esteban Mata 01.08.2007 - 11:01 - #

    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!

  14. stephanie falla 02.08.2007 - 10:33 - #

    Esteban, hoy se ha publicado la segunda parte del artículo en donde encontrarás la información que mencionas, esperamos tus comentarios.

  15. Ariel 14.08.2007 - 11:53 - #

    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?

  16. Damian A. Perez Valdes 14.08.2007 - 16:35 - #

    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.

  17. Fede 09.09.2007 - 11:09 - #

    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.

  18. Alejandro Jesús Perazzo 10.09.2007 - 09:02 - #

    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/

  19. Juan Velazco 11.09.2007 - 09:07 - #

    Que hay de Kumbia? http://www.kumbia.org

  20. Edwin Perez 20.09.2007 - 06:51 - #

    Gracias Alejandro por los links de Symfony realmente muy buenos.

  21. Luis Miguel C. 23.09.2007 - 19:58 - #

    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

  22. Fede 02.10.2007 - 07:01 - #

    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?

  23. Luis 04.10.2007 - 05:26 - #

    Excelente Damian! muy buen aporte y punto de vista. Desde Paraguay! Un fuerte abrazo!

  24. Williams Molina 10.10.2007 - 12:18 - #

    Excelente, me ha sido muy util esta info…

    Saludos

  25. Valentín Palacios 17.10.2007 - 01:15 - #

    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.

  26. Diego 29.10.2007 - 08:52 - #

    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

  27. Rebeca 06.11.2007 - 18:02 - #

    Es una forma de educarnos en la programación, yo vi prado y les aconsejo

  28. MARTIN ARGOTY LUCERO 21.11.2007 - 17:20 - #

    Como introduccion, bien pero se queda un muy corto de como empezar a utilizar mas de lleno el prado.

  29. MARTIN ARGOTY LUCERO 21.11.2007 - 17:21 - #

    Es solo una introduccion, deberia existir uno mas completo.

  30. Luis 05.12.2007 - 03:56 - #

    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.

  31. Jose Valle 16.02.2008 - 14:27 - #

    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

  32. Lismary Estrada 25.02.2008 - 11:53 - #

    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…

  33. Lismary Estrada 25.02.2008 - 11:54 - #

    necesito una comparacion bastante sustentada entre el prado y el Symfony..

  34. Pablo Albarrán 17.04.2008 - 13:42 - #

    Un Framework interesante es PHP4ECore, pueden descargarlo desde php4e.codeman.cl

  35. juan avalos 07.05.2008 - 11:46 - #

    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.

Deja tu Comentario


Maestros del Web se reserva el derecho de moderación de los comentarios. Evita utilizar palabras soeces, ataques directos, descalificativos, insultos, de lo contrario tu comentario será eliminado.


Anuncios por Q
-


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