LARAVEL
Resultado de imagen para LaravelEs un framework de código abierto para desarrollar aplicaciones y servicios web con PHP 5 y PHP 7. Su filosofía es desarrollar código PHP de forma elegante y simple, evitando el "código espagueti". Fue creado en 2011 y tiene una gran influencia de frameworks como Ruby on Rails, Sinatra y ASP.NET MVC. 
VISIÓN GENERAL

Laravel tiene como objetivo ser un framework que permita el uso de una sintaxis elegante y expresiva para crear código de forma sencilla y permitiendo multitud de funcionalidades. Intenta aprovechar lo mejor de otros frameworks y aprovechar las características de las últimas versiones de PHP.

Gran parte de Laravel está formado por dependencias, especialmente de Symfony, esto implica que el desarrollo de Laravel dependa también del desarrollo de sus dependencias.

CARACTERÍSTICAS

    Resultado de imagen para Laravel
  • Sistema de ruteo, también RESTful
  • Blade, Motor de plantillas
  • Eloquent OR
  • Basado en Composer
  • Soporte para el caché
  • Soporte para MVC
  • Usa componentes de Symfony
  • Adopta las especificaciones PSR-212​ y PS


PATRON MVC

Modelo
Laravel incluye un sistema de mapeo de datos relacional llamado Eloquent ORM que facilita la creación de modelos. Este ORM se funda en patrón active record y su funcionamiento es muy sencillo. Es opcional el uso de Eloquent, pues también dispone de otros recursos que nos facilitan interactuar con los datos, o específicamente la creación de modelos.

Vista
Laravel incluye de paquete un sistema de procesamiento de plantillas llamado Blade. Este sistema de plantillas favorece un código mucho más limpio en las Vistas, además de incluir un sistema de Caché que lo hace mucho más rápido. El sistema Blade de Laravel, permite una sintaxis mucho más reducida en su escritura.

Plantillas
 Las plantillas en Blade son archivos de texto plano que contiene todo el HTML de la página con etiquetas que representan elementos o zonas a incluir en la plantilla, o vistas parciales como se conocen en otros frameworks PHP. Sin embargo, en Blade estos elementos incrustados se organizan en un sólo archivo. Esta es una idea muy interesante de Laravel que mejora la organización de las vistas y su rendimiento.

 Sobre todo cuando las vistas pueden llegar a ser muy complejas incluso con elementos anidados. En el render de una Vista completa en Laravel se usan dos archivos: la plantilla definiendo el HTML global y las zonas a incluir. Un sólo archivo, la Vista, con los elementos (partial views).

Controlador
Los controladores contienen la lógica de la aplicación y permiten organizar el código en clases sin tener que escribirlo todo en las rutas. Todos los controladores deben extenderse de la clase BaseController.además de eso.

Influencia
La influencia de Laravel ha crecido rápidamente desde su lanzamiento. En la comunidad de desarrolladores es considerado como alternativa sencilla de usar pero que tiene todas las funcionalidades que debe tener un framework. Ha sido descargado más de 320.000 veces, y se espera que supere en popularidad a otros frameworks ya establecidos más antiguos.

Uso
Y para que laravel se desarrolle dicha aplicación requiere de programación a medida para desarrollar sus funcionalidades. Vamos a intentar exponer algunos ejemplos de posibles aplicaciones de Laravel.

Las posibles aplicaciones son todas las aplicaciones desarrolladas en PHP, por ejemplo, áreas cliente , intranets, aplicaciones web con funcionalidades concretas, APIS, y prácticamente cualquier funcionalidad web requiera programación a medida.



CODEIGNITER
Resultado de imagen para CODEIGNITER Es un framework para aplicaciones web de código abierto para crear sitios web dinámicos con PHP. Su objetivo es permitir que los desarrolladores puedan realizar proyectos mucho más rápido que creando toda la estructura desde cero, brindando un conjunto de bibliotecas para tareas comunes, así como una interfaz simple y una estructura lógica para acceder esas bibliotecas. 
También hay que destacar que CodeIgniter es más rápido que muchos otros entornos. ​ Incluso en una discusión sobre entornos de desarrollo con PHP, Rasmus Lerdorf, el creador de PHP, expresó que le gustaba CodeIgniter porque es rápido, ligero y parece poco un entorno.

Kohana ha creado una rama a partir de CodeIgniter 1.5.4 en 2007, como resultado del disgusto de la comunidad por la falta de corrección de errores y el deseo de incorporar otras características demandadas por los usuarios.

El día 1 de Marzo se publica la primera beta de la versión 4 de Codeigniter. Hasta la fecha la más actual en producción es la versión 3.1.10 que se puede descargar desde CodeIgniter.

CARACTERISTICAS:

Framework muy liviano: CodeIgniter 3 ocupa tan sólo 2MB, incluyendo la guía del usuario.
Soluciones simples sobre la complejidad:  CodeIgniter anima a MVC, pero no lo obliga a usted.

Documentation sencilla: La Guía del usuario CodeIgniter viene con la descarga. Contiene una introducción, un tutorial, una serie de guías de "cómo" y, a continuación, documentación de referencia para los componentes que conforman el framework.

Rendimiento excepcional: CodeIgniter siempre supera a la mayoría de sus competidores.
Gran Seguridad: Tomamos la seguridad en serio, con protección incorporada contra ataques CSRF y XSS.

Cerca de cero configuración: Gran parte de la configuración de CodeIgniter se realiza por convención, por ejemplo poner modelos en una carpeta de "modelos". Todavía hay varias opciones de configuración disponibles, a través de scripts en la carpeta "config".

FUNCIONALIDAD
CodeIgniter es el segundo framework más popular entre los desarrolladores de PHP. Es muy potente y destaca por su velocidad, además de su sencillez y facilidad de ser aprendido, por lo que resulta ideal para iniciar cualquier proyecto.

Codeigniter es un framework para el desarrollo de aplicaciones en php que utiliza el MVC. Permite a los programadores Web mejorar la forma de trabajar y hacerlo a mayor velocidad. Al igual que cualquier framework está pensado para gente que tiene un dominio, al menos medio, del lenguaje de programación PHP. Siempre hay que controlar PHP “a pelo” para empezar a trabajar de forma eficiente con este framework (o cualquier otro).

MODELO
El modelo es el encargado del acceso a datos. Para este ejemplo he creado una base de datos en MySQL, con una sola tabla llamada “Usuarios”, de manera que pueda acceder a ella y mostrar su contenido en la vista.

CONFIGURACIÓN DEL ACCESO A BBDD
La configuración de la base de datos se encuentra en el fichero application>config>database.php, donde debes modificar algunos parámetros, como el nombre de la base de datos, el usuario y la contraseña.

ACCESO A DATOS
Resultado de imagen para CODEIGNITERA continuación, crea una clase model que extienda de CI_Model en application>models. Para este ejemplo solo necesitarás una función que seleccione todo el contenido de la tabla “Usuarios”.

CodeIgniter establece la conexión con la base de datos por ti, y solamente tienes que indicarle a la variable “db” el método que necesites y el nombre de la tabla a la que quieras acceder.

Una vez obtengas el resultado de tu query, utiliza la función result_array() para transformarlo en un array y hacerlo más manejable. Tu función debe devolver dicho array para que pueda ser recogida por el controlador.



YII
Resultado de imagen para YiiEs un framework de desarrollo de aplicaciones libres para la web, de código abierto, que promueve el diseño limpio y motiva el desarrollo rápido. Ayuda a garantizar un producto final eficiente, extensible y mantenible, cuenta con  características como el desarrollo rápido, el almacenamiento en caché, autenticación y control de acceso basado en roles, andamios, pruebas, etc.
Yii es un framework PHP basado en componentes de alta performance para desarrollar aplicaciones Web de gran escala. El mismo permite la máxima reutilización en la programación web y puede acelerar el proceso de desarrollo. El nombre Yii (pronunciado /i:/) es por fácil.

Características

  •     Patrón de diseño Modelo Vista Controlador (MVC).
  •     Database Access Objects (DAO), query builder, Active Record y migración de base de datos.
  •     Integración con jQuery.
  •     Entradas de Formulario y validación.
  •     Widgets de Ajax, como autocompletado de campos de texto y demás.
  •     Soporte de Autenticación incorporado. Además soporta autorización vía role-based access control (RBAC) jerárquico.
  •     Personalización de aspectos y temas.
  •     Generación compleja automática de WSDL, especificaciones y administración de peticiones Web service.
  •     Internacionalización y localización (I18N and L10N). Soporta traducciones, formato de fecha y hora, formato de números, y localización de la vista.
  •     Esquema de caching por capas. Soporta el cache de datos, cache de páginas, cache por fragmentos y contenido dinámico. El medio de almacenamiento del cache puede ser cambiado.
  •     El manejo de errores y logging. Los errores son manejados y personalizados, y los log de mensajes pueden ser categorizados, filtrados y movidos a diferentes destinos.
  •     Las medidas de seguridad incluyen la prevención cross-site scripting (XSS), prevención cross-site request forgery (CSRF), prevención de la manipulación de cookies, etc.
  •     Herramientas para pruebas unitarias y funcionales basados en PHPUnit y Selenium.
  •     Generación automática de código para el esqueleto de la aplicación, aplicaciones CRUD, etc.
  •     Generación de código por componentes de Yii y la herramienta por línea de comandos cumple con los estándares de XHTML.
  •     Cuidadosamente diseñado para trabajar bien con código de terceros. Por ejemplo, es posible usar el código de PHP o Zend Framework en una aplicación Yii.


Extensiones
El proyecto Yii tiene un repositorio de extensiones que consisten en componentes contribuidos por usuarios.
También hay una biblioteca de extensiones oficial llamada zii, la cual la han unido junto al núcleo del framework. Esta es incluida en cada lanzamiento desde la versión 1.1.0 Yii e incluye comportamientos adicionales y widgets, tales como las redes y los widgets jQuery UI.

Documentación
Yii viene con una colección de documentos oficiales, tales como un tutorial para desarrollar un simple blog, una guía que recoge la descripción de cada función y una referencia de clases que ofrece todos los detalles acerca de las propiedades, métodos y eventos.
Resultado de imagen para YiiTambién hay una documentación aportadas por los usuarios, la mayoría de los cuales está disponible en el wiki en la página web oficial.

Licencia
Yii es liberado bajo la Nueva Licencia BSD (Cláusula 3 de la licencia). Esto significa que es posible utilizar de forma gratuita para desarrollar cualquier aplicación web de código abierto o software privativo.

El texto que figura en la documentación oficial de Yii tiene licencia para el público bajo la GNU Free Documentation License (GFDL). En general, el contenido de la documentación Yii puede ser copiado, modificado y redistribuido siempre y cuando la nueva versión de subvenciones de las mismas libertades a los demás y reconozca a los autores del artículo de la documentación utilizada Yii.​


El logotipo está bajo una licencia Creative Commons Atribución-No Derivative Works 3.0 Unported.



CAKEPHP

Resultado de imagen para CakePhpEste framework es muy popular entre los desarrolladores de PHP por su peso ligero, simplicidad, rapidez y requiere menos código, por lo que es muy fácil de aprender. La característica CRUD integrado es muy útil para la interacción de base de datos, también tiene varias funciones integradas para la seguridad, el correo electrónico, la sesión, la galleta y la administración de solicitudes.

Con CakePHP el desarrollo web ya no es monótono porque ofrecemos las herramientas para que empieces a escribir el código que realmente necesitas: la lógica específica de tu aplicación. Consigue una copia de CakePHP, empieza con lo verdaderamente importante y no reinventes la rueda cada vez que te incorpores a un nuevo proyecto. CakePHP tiene un equipo de desarrolladores y una comunidad activos, lo que añade valor al proyecto. Con CakePHP, además de no tener que reinventar la rueda, el núcleo de tu aplicación se mejora constantemente y está bien probado.

CARACTERISTICAS

CakePHP es un framework o marco de trabajo que "facilita" el desarrollo de aplicaciones web, utilizando el patrón de diseño MVC (Modelo Vista Controlador). Es de código abierto y se distribuye bajo licencia MIT.
Al igual que Ruby On Rails, CakePHP facilita al usuario la interacción con la base de datos mediante el uso de Active record.

  •     Compatible con PHP4 y PHP5
  •     CRUD de la base de datos integrado
  •     URLs amigables
  •     Sistema de plantillas rápido y flexible
  •     Ayudas para AJAX, Javascript, HTML, forms y más
  •     Trabaja en cualquier subdirectorio del sitio
  •     Validación integrada
  •     Scaffolding de las aplicaciones
  •     Lista de control de acceso
  •     Sintetización de datos
  •     Componentes de seguridad y sesión


CAKEPHP Y MVC

 CakePHP proporciona clases para el Controlador, Modelo y la Vista, pero adicionalmente incluye algunas clases más para mejorar el tratamiento a cada capa y hacer el desarrollo más sencillo y rápido. Componentes, Comportamientos y Helpers son clases que proveen de extensabilidad y reusabilidad a la base de las clases del MVC.

EXTENSIONES DE LOS CONTROLADORES ("COMPONENTES")

Un componente es una clase que ayuda a la lógica de un controlador. Si tienes alguna lógica y la quiere compartir entre varios controladores (o aplicaciones), un componente suele ser una buena elección. En lugar de escribir lógica en el método de un controlador, se puede empaquetar en un componente para poder compartirla.

Los Controladores también están equipados con callbacks. Puedes utilizar estos callbacks si necesitas insertar alguna lógica en las operaciones del núcleo de CakePHP. Los Callbacks disponibles incluyen:


  •     beforeFilter(), se ejecuta antes que cualquier otra acción del controlador
  •     beforeRender(), se ejecuta después de la lógica del controlador, pero antes de que la vista se renderice
  •    afterFilter(), se ejecuta después de toda la lógica del controlador, incluido el renderizado de la vista. Puede que no haya ninguna diferencia entre afterRender() y afterFilter(), a menos que hayas llamado manualmente a render() en el controlador y hayas incluido alguna lógica después de esa llamada.

EXTENSIONES DE LAS VISTAS

Resultado de imagen para CakePhpUn ayudante (Helper) es una clase que ayuda a la lógica de una vista. Del mismo modo que varios controladores utilizan un componente, los ayudantes hacen que varias vistas accedan y compartan lógica presentacional. Con uno de los ayudantes del núcleo, el AjaxHelper, el manejo de las peticiones Ajax en las vistas es mucho más fácil.

La mayoría de las aplicaciones repiten piezas de código en sus vistas. CakePHP facilita la reutilización de este código con diseños (layouts) y elementos (elements). Por defecto, toda vista renderizada por un controlador se coloca en un diseño (layout). Los elementos entran en juego cuando hay que reutilizar estos fragmentos pequeños de contenido.

EXTENSIONES DE LOS MODELOS

Del mismo modo, los Comportamientos (Behaviors) son formas de añadir funcionalidad común entre los modelos. Por ejemplo, si almacena datos de los usuarios en una estructura de árbol, puede especificar que su modelo de usuario se comporte como un árbol, y obtener libre funcionalidad para eliminar, añadir y mover nodos en la estructura de árbol subyacente.

Los modelos también cuentan con el apoyo de otra clase llamada DataSource (Origen de datos). Los DataSource son una abstracción que permite a los modelos manipular diferentes tipos de datos de forma consistente. Si bien la principal fuente de datos en una aplicación CakePHP es a menudo una base de datos, puede escribir DataSources adicionales que les permitan a sus modelos representar canales RSS, archivos CSV, entradas LDAP, o eventos iCal. Los DataSources le permiten asociar registros de diferentes fuentes: en lugar de limitarse sólo a uniones (joins) SQL, los DataSources le permiten decirle a su modelo LDAP que está asociado a muchos eventos iCal. Así como los controladores, los modelos también incluyen callbacks:


  •     beforeFind()
  •     afterFind()
  •     beforeValidate()
  •     beforeSave()
  •     afterSave()
  •     beforeDelete()
  •     afterDelete()


Los nombres de estos métodos deben ser lo suficientemente descriptivos para que sepa lo que hacen.

CONTROLADORES

Un controlador es usado para manejar la lógica de cierta sección de la aplicación. Comúnmente, los controladores son usados para manejar la lógica de un sólo modelo. Por ejemplo, si estás construyendo un sitio que maneja una colección de vídeos, podrías tener un VideoController y un AlquilerController manejando los vídeos y los alquileres, respectivamente. En Cake, los nombres de los controladores están siempre en plural.

Los controladores de tu aplicación son subclases de la clase AppController de Cake, que a su vez extiende la clase principal Controller. Los controladores pueden tener cualquier cantidad de acciones (funciones usadas en tu aplicación web para mostrar vistas).

La clase AppController puede ser definida en /app/app_controller.php y debe contener métodos que son compartidos entre dos o más controladores. A su vez, AppController es una subclase de Controller que es una clase de la biblioteca estándar de Cake. Una acción es una única funcionalidad de un controlador. 

Facilita el setup de nuestro proyecto brindándonos herramientas para crear la estructura de directorios, clases, etc. por línea de comandos, integración con phpUnit por medio de Zend_Test para facilitar el testing de nuestra aplicación.
Es ejecutada automáticamente por el Dispatcher si una solicitud de página entrante la especifica en la configuración de rutas (routes). Retomando el ejemplo de la colección de vídeos, nuestro VideoController podría tener las acciones view(), rent(), y search(). El controlador debería estar ubicado en /app/controllers/videos_controller.php y contener.



ZEND FRAMEWORK 2

Resultado de imagen para Zend FrameworkEste popular framework es de código abierto y permite desarrollar aplicaciones web utilizando el código orientado a objetos. Empresas como BBC, BNP paribas o Cisco WebEx lo consideran indiscutible para sus desarrolladores. Es altamente adaptable a cualquier tipo de proyecto, aunque resulta un tanto difícil de aprender debido a su dificultad, lo cual ya se trabaja en una versión más sencilla que saldrá muy pronto.

ZF implementa el patron MVC, es 100% orientado a objetos y sus componentes tienen un bajo acoplamiento por lo que los puedes usar en forma independiente. Un punto importante es que nos brinda un estándar de codificación que deberíamos seguir en nuestros proyectos.

Aunque se pueden utilizar de forma individual, los componentes de la biblioteca estándar de Zend Framework conforman un framework de aplicaciones web al combinarse. ZF ofrece una implementación MVC, una abstracción de base de datos, y un componente de formularios que implementa la prestación de formularios HTML, validación y filtrado para que los desarrolladores puedan consolidar todas las operaciones usando de una manera sencilla la interfaz orientada a objetos. Otros componentes, como Zend_Auth y Zend_Acl, proveen autentificación de usuarios y autorización diferentes a las tiendas de certificados comunes. 

También existen componentes que implementan bibliotecas de cliente para acceder de forma sencilla a los web services más populares. Cualesquiera que sean las necesidades de su solicitud, usted tiene todas las posibilidades de encontrar un componente de Zend Framework que se pueda utilizar para reducir el tiempo de desarrollo.

El principal patrocinador del proyecto Zend Framework es Zend Technologies, pero muchas empresas han contribuido con componentes o características importantes para el marco. Empresas como Google, Microsoft y StrikeIron se han asociado con Zend para proporcionar interfaces de servicios web y otras tecnologías que desean poner a disposición de los desarrolladores de Zend Framework.

Características principales

Resultado de imagen para Zend FrameworkZF implementa el patron MVC, es 100% orientado a objetos y sus componentes tienen un bajo acoplamiento por lo que los puedes usar en forma independiente.  Un punto importante es que nos brinda un estándar de codificación que deberíamos seguir en nuestros proyectos.

A su vez, cuenta con soporte para internalización y localización de aplicaciones (construir sitios multi idioma, convertir formatos de fechas, monedas, etc. según la región. Algo importantísimo para crear aplicaciones con un enfoque global y llegar de la mejor manera a la mayor cantidad de gente posible).

Facilita el setup de nuestro proyecto brindándonos herramientas para crear la estructura de directorios, clases, etc. por línea de comandos, integración con phpUnit por medio de Zend_Test para facilitar el testing de nuestra aplicación.


ACTION CONTROLLERS

Los controladores son clases que extienden de Zend_Controller_Action. Cada controlador tiene unos métodos especiales cuya nombre tiene el sufijo “Action”, llamados “action methods”. Por default, las URLs en ZF son del tipo /controlador/action, es decir que si en nuestro IndexController tenemos un “pruebaAction” lo podremos ejecutar desde /index/prueba.

No hay comentarios:

Publicar un comentario