Los Frameworks de PHP agilizan tu trabajo II
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
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.
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.
Lecturas de referencia
- Los Frameworks de PHP agilizan tu trabajo (primera parte de este artículo)
- symfony-project
- codeigniter
- xisc
- framework.zend
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.
[…] Los invito a leer más: Maestros del Web >> Los Frameworks de PHP agilizan tu trabajoII […]
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.
Hola, quisiera un poco mas de información sobre Kumbia debido a que voy a comenzar a trabajar con esto de los frameworks especificamente con Kumbia, me gustaría su opinion acerca de este ya que no se encuentra entre los frameworks publicados..
Gracias! 😉
[…] PHP + segunda parte Something to […]
Me gustaría ver a KumbiaPHP en una futura actualización de este post…
Éxitos!
Aqui teneis la nueva dirección de KumbiaPHP framework http://www.kumbiaphp.com.
Esta más vivo que nunca.
Deciros que esta cera la versión 1.0, con una velocidad impresionante.
Aqui teneis uno de los últimos bechmarks http://wiki.kumbiaphp.com/Frameworks_Benchmark_KumbiaPHP_vs_(Yii_CodeIgniter_Kohana_Zend_Prado_CakePHP_Symfony)#Gr.C3.A1fica
Y también se ha mejorado aun más, para que sea más fácil y rápido desarrollar aplicaciones o webs
A mi personalmente me parece interesante PRADO, para las personas que venimos de asp.net la curva de aprendizaje es muy corta y en poco tiempo podemos estar desarrollando aplicaciones interesantes en este framework, le creo y le apuesto a PRADO.
Aun no consigo editores que nos faciliten el desarrollo en este framework, por este motivo estoy desarrollando mi propio editor, si alguien esta interesado en el se ponen en contacto conmigo o ingresan a http://code.google.com/p/pradoeditor/ donde estare colgando poco a poco los avances de este editor para PRADO.
Hola podrias escriberme a [email protected] me gustaria usar kumbiaphp a ver si me hechas una mano..
saludos
Estoy haciendo un pequeño framework PHP5 MVC y ORM, que trabaja con MySQL, PostgreSQL o SQLite, Yupp PHP Framework, para quien lo quiera probar: http://code.google.com/p/yupp/
Saludos,
Pablo.
Hola, yo hice un curso de php-mysql, tambien otro de ajax.
Es decir, solo realice unas aplicaciones basicas
¨Por cual framework me recomendiarian empezar? gracias
quisiera un tutor para programacion multicapoa en php