¿Cuáles son las diferencias entre Laravel 4 y Laravel 5?

Esto se describe en detalle en la documentación oficial, tenga un botín en: http://laravel.com/docs/5.0/rele…

Resumen de las notas de lanzamiento de Laravel 5.0 del artículo anterior:

  • El antiguo directorio de aplicaciones / modelos se ha eliminado por completo.
  • Los controladores, middleware y solicitudes (un nuevo tipo de clase en Laravel 5.0) ahora se agrupan en el directorio app / Http.
  • Un nuevo directorio de proveedores / aplicaciones reemplaza los archivos de inicio / aplicación de versiones anteriores de Laravel 4.x.
  • Los archivos y las vistas del idioma de la aplicación se han movido al directorio de recursos.
  • Todos los componentes principales de Laravel implementan interfaces que se encuentran en el repositorio de illuminate / contratos.
  • Nueva ruta: cachee el comando Artisan para acelerar drásticamente el registro de sus rutas.
  • Laravel 5 ahora es compatible con el middleware HTTP, y la autenticación incluida y los “filtros” CSRF se han convertido en middleware.
  • ahora puede escribir dependencias de pistas en los métodos del controlador.
  • Los controladores de registro de usuario, autenticación y restablecimiento de contraseña ahora se incluyen de fábrica, así como las vistas correspondientes simples, que se encuentran en recursos / vistas / autenticación.
  • Ahora puede definir eventos como objetos en lugar de simplemente usar cadenas.
  • Además del formato de trabajo en cola compatible con Laravel 4, Laravel 5 le permite representar sus trabajos en cola como simples objetos de comando. Estos comandos viven en el directorio app / Commands.
  • Ahora se incluye un controlador de cola de base de datos en Laravel, que proporciona un controlador de cola local simple que no requiere la instalación de un paquete adicional más allá de su software de base de datos.
  • El programador de comandos de Laravel le permite definir de manera fluida y expresiva su programación de comandos dentro de Laravel, y solo se necesita una sola entrada de Cron en su servidor.
  • El comando php artisan tinker ahora utiliza Psysh de Justin Hileman, un REPL más robusto para PHP.
  • Laravel 5 ahora utiliza DotEnv de Vance Lucas.
  • Laravel Elixir, de Jeffrey Way, proporciona una interfaz fluida y expresiva para compilar y concatenar sus activos.
  • Laravel Socialite es un paquete opcional compatible con Laravel 5.0+ que proporciona autenticación totalmente sencilla con los proveedores de OAuth.
  • Laravel ahora incluye la potente biblioteca de abstracción del sistema de archivos Flysystem, que proporciona una integración sin problemas con el almacenamiento en la nube local, Amazon S3 y Rackspace, ¡todo con una API unificada y elegante!
  • Laravel 5.0 introduce solicitudes de formulario , que amplían la clase Illuminate \ Foundation \ Http \ FormRequest. Estos objetos de solicitud se pueden combinar con la inyección del método del controlador para proporcionar un método sin placa de caldera para validar la entrada del usuario.
  • El controlador base Laravel 5 ahora incluye un rasgo ValidatesRequests. Este rasgo proporciona un método de validación simple para validar las solicitudes entrantes.
  • Se han agregado nuevos comandos del generador Artisan al marco.
  • La popular función dd helper, que descarga información de depuración variable, se ha actualizado para usar el sorprendente Symfony VarDumper.

También puede estar interesado en una guía de actualización a 5.0 http://laravel.com/docs/5.0/upgr…

Estructura de directorios rediseñada

La estructura de directorio rediseñada incluida en Laravel 5 lo hace diferente de Laravel 4. La estructura de directorio rediseñada implementa el estándar de carga automática PSR-4 y hace que cada clase tenga un espacio de nombres. La aplicación es el espacio de nombres predeterminado para cada aplicación web. Sin embargo, los programadores pueden cambiar fácilmente el espacio de nombres predeterminado ejecutando comandos específicos. Incluso pueden usar el archivo the.env almacenado en la raíz del proyecto para administrar varios elementos del entorno de la aplicación de manera eficiente.

Inyección de método simplificado

A diferencia de Laravel 4, Laravel 5 no requiere que los programadores proporcionen una instancia de clase al solicitar el contenedor de Inversión de control (IoC). Simplifica la inyección del método al permitir que los programadores declaren la instancia de clase de tipo indirecta directamente en la firma del método del controlador. Los desarrolladores incluso tienen la opción de incluir múltiples parámetros en la firma del método del controlador. La instancia de clase insinuada de tipo declarada por los desarrolladores será manejada automáticamente por el contenedor IoC.

Caché de ruta y registro mejorados

Laravel 5 mejora significativamente la velocidad de almacenamiento en caché de rutas al aprovechar la función de almacenamiento en caché de rutas de Artisan. El almacenamiento en caché de rutas mejorado ayuda a los desarrolladores a acelerar las aplicaciones PHP al acelerar el registro de rutas. Los desarrolladores incluso tienen la opción de activar o desactivar la opción de almacenamiento en caché de ruta ejecutando comandos específicos. Sin embargo, pueden notar la mejora en el rendimiento de las aplicaciones PHP solo cuando tienen una gran cantidad de rutas.

Opción para agregar capas adicionales a las rutas HTTP

A diferencia de Laravel 4, Laravel 5 permite a los programadores agregar capas adicionales a las rutas HTTP a través del middleware de ruta. Los desarrolladores ahora tienen la opción de incluir código específico en la clase de middleware que se ejecutará antes de rutas particulares en la aplicación. El desarrollador puede usar un archivo específico para agregar el middleware a la matriz @middleware. Del mismo modo, pueden agregar middleware a varias rutas en la aplicación Laravel 5.

Contratos

Los componentes centrales de Laravel 5 usan contratos ampliamente. Los contratos están diseñados como un conjunto de interfaces y definen una serie de servicios. Laravel 5 detecta la implementación de contratos individuales automáticamente. Los desarrolladores pueden aprovechar los contratos para mantener varios componentes del marco web acoplados libremente eliminando las dependencias de clase. Al mismo tiempo, los contratos también ayudan a los programadores a administrar paquetes sin dedicar tiempo y esfuerzo adicionales.

Objetos de comando

A diferencia de Laravel 4, Laravel 5 permite a los programadores convertir la lógica empresarial en objetos de comando. Cada objeto de comando está diseñado como código autónomo. Los programadores pueden poner en cola los objetos de comando para ejecutar la lógica de negocios en segundo plano de forma asíncrona. Los objetos de comando facilitan aún más que los desarrolladores realicen pruebas unitarias al realizar fragmentos de código en los sistemas de controlador.

Soporte nativo del sistema de archivos múltiples

La versión 5 de Laravel admite múltiples sistemas de archivos de forma nativa. Sin embargo, requiere que los programadores implementen soporte de múltiples sistemas de archivos a través de un paquete de terceros: Flysystem. Los desarrolladores pueden usar Flysystem para automatizar las operaciones subyacentes del sistema de archivos. Además, Flysystem facilita a los programadores la creación de aplicaciones web personalizadas con almacenamiento local o en la nube simplemente cambiando la configuración predeterminada. Los desarrolladores incluso tienen la opción de configurar una serie de opciones de almacenamiento.

Servicios de autenticación

Al igual que Laravel 4, Laravel 5 también proporciona servicios de autenticación integrados. Pero los programadores de PHP pueden hacer uso de los servicios de autenticación listos para usar mientras trabajan en Laravel 5. El servicio de autenticación permite a los programadores evitar la plataforma de autenticación al proporcionar modelos, vistas, controladores y migración de bases de datos. Los usuarios incluso tienen la opción de implementar la autenticación deseada cambiando la configuración de modelos, vista, controladores y migración de la base de datos.

Objetos de evento

Laravel 5 no requiere que los desarrolladores de PHP declaren los eventos de la aplicación como cadenas. Los desarrolladores ahora tienen la opción de crear objetos de evento y objetos de controlador de eventos mediante la ejecución de comandos simples. Los objetos de evento y los objetos de controlador de eventos deben almacenarse por separado en carpetas específicas. Los desarrolladores incluso pueden ejecutar comandos para disparar varios eventos directamente.

Cola

Laravel 5 permite a los programadores aprovechar una cola personalizable. Pueden usar la cola sin usar ningún paquete de terceros. Pueden realizar cambios en la cola predeterminada proporcionada por el marco web y utilizar la cola reconfigurada para programar y administrar una variedad de tareas de manera eficiente. Los programadores de Laravel pueden incluso ejecutar varios trabajos de manera eficiente mediante la creación de comandos queables personalizados.

Mundano

Mientras trabajan con Laravel 5, los desarrolladores pueden aprovechar una interfaz de autenticación de redes sociales proporcionada por Socialite. Pueden usar Socialite para integrar la interfaz de autenticación de redes sociales sin problemas en la aplicación Laravel 5. Incluso pueden usar Socialite para autenticarse con sitios web populares de redes sociales como Facebook, Twitter, Google y Github. Sin embargo, tienen que usar Composer para integrar Socialite con Laravel 5.

Por favor leelo. Laravel 4 o Laravel 5?

Hola hari
por favor vea la respuesta de marcelo, es la correcta

More Interesting

Para Socket.IO con Angular, ¿hay superposiciones con RabbitMQ?

¿Qué es diferenciar entre Canvas y SVG?

¿Dónde te ves como desarrollador web en los próximos 5-10 años?

¿Debería molestarme en aprender WordPress si ya conozco HTML, CSS y JavaScript?

¿Cuál es el mejor campo de entrenamiento de Node.js si quiero pasar de ser un ingeniero de pruebas de automatización para convertirme en Node.js o reaccionar desarrollador? ¿Cuál es el mejor campo de entrenamiento en Nueva York para la colocación laboral?

¿Cuál es la mejor combinación para un sitio web en cuanto a tiempo y costo?

En Django, hice una entidad llamada 'usuario en modelos'. Cuando lo hice visible en la página de administración, lo mostró solo como un objeto de usuario en lugar de por una ID o nombre. ¿Cómo puedo cambiar esto?

¿Cómo crea un desarrollador una aplicación web que sea bastante autosuficiente?

¿Cuál es la diferencia entre la solicitud Ajax y la solicitud XHR?

Cuando 'diseñas' un sitio web / blog para alguien, ¿qué incluye eso?

¿Cuál es la mejor manera de organizar muchos archivos HTML-CSS? Estoy haciendo un sitio web con alrededor de 8 páginas y estoy haciendo un archivo CSS para cada archivo HTML. ¿Eso es normal? ¿Qué es una buena estructura de carpetas?

¿Cuáles son las mejores empresas de diseño web de outsourcing?

Cómo saber dónde pasan más tiempo mis visitantes en una sola página

¿Por qué complementos vale la pena pagar extra al registrar un dominio?

¿Qué es mejor para el desarrollo de juegos en 3D: HTML5 o Flash?