Estás en Inicio / Editorial / PHP
02.08.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.
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.
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).
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 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.
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 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”);
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.
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.
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?
23 comentarios en total.
Siguiendo con la conversación del artículo anterior, ahora conocemos los Frameworks que hacian falta. Haber expertos y no tan expertos en PHP, qué nos pueden comentar sobre ellos? ![]()
bueno despues de ya casi un a#o usando cake
pues realmente mejoras tu tiempo de desarrollo. hay una comunidad grande en varios idiomas, y desarrallomas muchas cosas sobre cake,
la licencia es MIT
antes era muy interesante que cake soportara php 4
ya que era lo unico que avia en muchos sitios de produccion
hoy en dia eso no es tan importante,
eso si en general todos los frameworks son muy dificilies de entender,
nesesitas conosimientos avansados de php, y mucho tiempo libre (nada de hoy aprendo php, ma#ana cake)
una anotacion final sobre cake, puedes reacomodar las cosas mucho, por ejemplo mi instalacion de desarrollo es asi
$HOME/devel/cake/app (la aplicacion que estoy asiendo)
/usr/share/php/cake (el core)
/var/www/cake/app (su webroot)
Por ultimo donde quedo el de ZEND?
si bien muchos lo consideramos mas una coleccion de librerias,
algo de framework tiene y tambien es MVC
Saludos Compermisos, muy interesante lo que señalas y contestando a tu pregunta sobre ZEND lo encontrarás en la primera parte de este artículo y tienes razón es uno de los favoritos. ![]()
asi es, lo mas importante en el uso de los framework es el adquirir conocimientos de Programacion Orientada a Objetos. Ya luego es llevar un estudio lo mas profundo que se pueda de el framework que vayamos a utilizar, y hacer un uso adecuado de cada libreria, funciones y demas que incorporan los mismos.
Realmente no me he podido adentrar mucho en el uso de frameworks. Intente adquirir conocimientos sobre Cake y Symfony, pero me resulto dificil. Actualmente trabajo sobre Drupal que, segun tengo entendido, esta a medio camino de ser un framework y un CMS. ¿Alguien conoce las ventajas y desventajas entre un tipo de sistema y otro?
Excelente articulo, me encantaria saber cual prefieres?? asumes que por tanto es mejor trabajar con Frameworks??
Yo he usado el Zend pero casi simpre opto por crear mi propia estructura u objetos pues aunque me tomen mas trabajo la creacion la legibilidad y sobre todo la rapidez es mas notable.
Quisiera que me cuentes que opinas de lo que se opina en contra del framework
“Sin embargo, hay quejas comunes acerca de que el uso de frameworks añade código innecesario y que la preponderancia de frameworks competitivos y complementarios significa que el tiempo que se pasaba programando y diseñando ahora se gasta en aprender a usar frameworks.”
…antes era muy interesante que cake soportara php 4
ya que era lo unico que avia…
MIS OJOS!!!!
El problema de PHP fue justamente que no tenia una framework basada en MVC predeterminada. Ahi fue donde nacieron la mayoría de las frameworks para PHP. Ruby puso en jake a PHP (el rey de la web) con su framework Rails. Por suerte PHP respondió rápido, movió el alfil y desarrollo Zend framework, dándole mate a Ruby.
Zend Framework significa el nacimiento de algo mucho mayor que una framework. Nacen las librerias oficiales de PHP. Y es hora de que le demos un buen uso.
Como por ejemplo Magento (http://www.magentocommerce.com/) que esta por revolucionar el mundo del comercio electrónico usando Zend.
Hola Hugo, particularmente me ha gustado e interesado por los frameworks, me ha gustado CodeIgniter y es en el que estoy iniciando. Los frameworks nos brindan muchas ventajas, de las que podemos aprovechar los programadores. La ventaja que tenemos es que podemos crear nuestras propias librerias e incluirlas en nuestros proyectos.
Lo principal es saber el funcionamiento de un framework, eso puede llevarnos un rato de lectura y pruebas pero vale la pena ese esfuerzo.
Federico
las librerias oficiales de php es PEAR y PECL
aparte claro esta de lo que trae el propio motro.
rufus
me referia a ase un año que empese con cake.
cuando ni php4 ni 5 eran opciones seguras por las cuales decantarse.
y entonses se podia simplemente elegir las dos.
hoy en dia eso es un lastre.
pero se planea que en 2 verciones mas cake de soporte para php 6 y en una mas only php6 (amenos que la gente de php con php7)
solo para completar PHP no es ZEND
Zend es una empresa que basa su negosio en PHP
y si bien PHP empresarial se certifica con ZEND
PHP es mantenido por una asociacion llamada
PHP standart group
Gracias…
Saludos!
Algún comentario sobre qcodo?
Excelente articulo para uno sumergice en el mundo de los frameworks, que es un paso al desarrollo serio y profesional.
Saludos.
Estoy buscando algo parecido al CODECHARGE, algunos de tus FRAMEWORK, hace lo que hace este maravillosa herramienta. Lo pueden verlo en http://www.yessoftware.com...
Espero su opinion..
Gracias…
De todo lo que he leído sobre frameworks, se explica las características de cada framework, sus ventajas, pero pocas veces se indica los contras de cada framework (seguridad, manejo seguro de sesiones, etc.).
Sería interesante encontrar algún artículo que los mencionara.
Todo Framework que se aprecie de ser bueno esta desarrollado por cientos de personas y liderado por un equipo principal. Se siguen fundamentos de Ing. de Software, normalmente desde el inicio de desarrollo hasta considerar que es maduro toma algunos años.
La utilización de los patrones de desarrollo es comun en los Frameworks (singleton, facade, observer, etc.), tambien la optimización de codigo, testing, caching lo que hace una aplicación más robusta.
Entre los inconvenientes el único que veo es creer que podemos hacerlo solos y no aprender uno!.
Que hay de Kumbia? http://www.kumbia.org
Kumbia ? es mi favorito
por tres puntos
- Integracion para tener ajax facilmente
- Generadores de formularios ABM o CRUD con tres lineas de codigo ( a veces manos porque si buscas uno que no existe lo crea solo ;))
- Y por ultimo esta todo todo en Español !
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?
Gracias por la info.. muy interesante..
solo para corregir algo en el modelo de ejemplo del codelgniter dice
class Aplicación extends Controller
hay ke sacar el acento para que funcione
SDsdl
quisiera que alguien compartiera un poco mas su experiencia con kumbia, pues me estoy iniciando en el mundo de los frameworks y he apostado por kumbia
Es importante saber programar por que hoy en dia en la vida diaria esta pegando fuerte la programacion asi que es mejor aprender
Porque no pusieron a Kumbia, que esta 100% en español, y 100% PHP5, pero si pusieron a otros que mejor ni recordarlos.
2 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