Novedades de Laravel 9: una inmersión profunda en el próximo lanzamiento importante
Laravel ha sido uno de los frameworks PHP más populares durante muchos años. Es elegante, escalable, se ha convertido en uno de los de facto frameworks para desarrolladores y empresas que trabajan con PHP. Ahora, Laravel 9 está en camino con un montón de características nuevas.
En el pasado, se han producido nuevos lanzamientos cada seis meses, lo que ha generado una gran cantidad de preguntas, comentarios duros y confusión sobre el nuevo proceso de lanzamiento de Laravel. Con el lanzamiento de Laravel 9, el marco se ha movido a un ciclo de lanzamiento principal de 12 meses y se lanzará en enero de 2022.
Este artículo explora las características clave de Laravel 9. Además de eso, también detallaremos cómo actualizar a Laravel 9 y comenzar a desarrollar aplicaciones web.
¿Qué es Laravel?
Laravel es un marco de aplicación web PHP de código abierto conocido por su elegante sintaxis. Es un marco MVC para construir aplicaciones web simples a complejas usando el lenguaje de programación PHP, y sigue estrictamente el patrón arquitectónico MVC (modelo-vista-controlador).
Si no ha usado Laravel, puede leer sobre qué es Laravel y echar un vistazo a nuestra lista de excelentes tutoriales de Laravel para comenzar.
Características clave de Laravel
Si es nuevo en este marco, hemos seleccionado algunas de las mejores características de Laravel para brindarle una mejor comprensión.
Características de Laravel en burbujas. (Fuente de la imagen: Moon Technolabs)
ORM elocuente
El mapeador relacional de objetos (ORM) para Laravel se llama Eloquent, y es una de las mejores características de Laravel, ya que permite una interacción perfecta con el modelo de datos y la base de datos de su elección.
Con Eloquent, Laravel abstrae todos los obstáculos que implican interactuar y escribir consultas SQL complejas para acceder a los datos de su base de datos.
CLI artesanal
Artisan CLI, o línea de comandos, es otro aspecto vital de Laravel. Con él, puede crear o modificar cualquier parte de Laravel desde la línea de comandos sin tener que navegar por carpetas y archivos.
Con Artisan, incluso puede interactuar con su base de datos directamente desde su línea de comando usando Laravel Tinker, todo sin instalar un cliente de base de datos.
Arquitectura MVC
La naturaleza arquitectónica MVC de Laravel hace que el lenguaje sea identificable y adaptable porque sigue un patrón de desarrollo web predominante con mejoras significativas y continuas.
Laravel lo obligará a aprender y comprender el patrón arquitectónico MVC, popular y utilizado en casi todos los marcos, como AdonisJS de JavaScript y ASP.NET MVC de C #.
Paginación automática
Si alguna vez ha tenido problemas con la paginación en sus aplicaciones, comprenderá el valor de tener su paginación ordenada por un marco integrado.
Laravel resuelve la molestia de la paginación mediante la creación de una paginación automática que viene de fábrica. Esta característica es una de las más reconocidas y elimina el trabajo involucrado en resolver el misterio de la paginación usted mismo.
Seguridad
Es esencial analizar las medidas de seguridad de cualquier aplicación web que esté considerando usar, ya que la falta de diligencia debida puede resultar en la pérdida de fondos o incluso en el secuestro de su sitio o producto.
Laravel viene con muchas medidas de seguridad debido a su adherencia a los principios de seguridad de OWASP. Desde la falsificación de solicitudes entre sitios (CSRF) hasta la inyección SQL, Laravel tiene una solución incorporada para todo.
Qué esperar con Laravel 9
Programado para ser lanzado en septiembre de 2021, Laravel 9 se ha pospuesto hasta enero de 2022, lo que lo convierte en el primer lanzamiento de soporte a largo plazo (LTS) que se presenta después del ciclo de lanzamiento de 12 meses. Este retraso se debe a muchas razones, que incluyen, entre otras, las siguientes:
- Laravel usa una variedad de proyectos impulsados por la comunidad y alrededor de nueve bibliotecas Symfony. Sin embargo, Symfony está planeando el lanzamiento de la versión 6.0 para noviembre de 2021. El retraso permitirá al equipo de Laravel incorporar esta nueva versión de Symfony como parte de Laravel 9.
- La demora le dará al equipo tiempo para monitorear cómo Laravel interactúa con la nueva versión de Symfony durante dos meses. También les da espacio para corregir cualquier cambio o error importante.
- Por último, retrasar el lanzamiento de Laravel 9 posiciona mejor al equipo de Laravel para futuras versiones anuales. Le dará al equipo dos meses de tiempo adicional de aceleración después de los lanzamientos de Symfony.
Por estas razones, puede ver que la demora en su lanzamiento vale la pena.
Kinsta le permite ejecutar Laravel para sus productos, aunque nuestro equipo no lo admite oficialmente.
Nuevas funciones en Laravel 9
Ahora, exploremos la lista de características y mejoras que debe esperar en la próxima versión principal de Laravel.
Requisito mínimo de PHP
Primero y más importante, Laravel 9 requiere las últimas PHP 8 y PHPUnit 8 para las pruebas. Eso es porque Laravel 9 usará el Symfony v6.0 más nuevo, que también requiere PHP 8.
PHP 8 viene con mejoras y características significativas, desde la compilación JIT hasta la promoción de propiedades del constructor. Puede explorar los puntos de referencia de las diferentes versiones de PHP y aprender cómo actualizar a la última versión de PHP 8 aquí en nuestro blog.
Migración de código auxiliar anónimo
Laravel establece que la migración de stub anónimo sea el comportamiento predeterminado cuando ejecuta el popular comando de migración:
php artisan make:migration
La función de migración de código auxiliar anónimo se lanzó por primera vez en Laravel 8.37 para resolver este problema de Github. El problema es que varias migraciones con el mismo nombre de clase pueden causar problemas al intentar recrear la base de datos desde cero. La nueva función de migración de stub elimina las colisiones de nombres de clases de migración.
Desde Laravel 8.37, el marco ahora admite archivos de migración de clases anónimos, y en Laravel 9, será el comportamiento predeterminado.
<?php
use IlluminateDatabaseMigrationsMigration;
use IlluminateDatabaseSchemaBlueprint;
use IlluminateSupportFacadesSchema;
return new class extends Migration {
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::table('people', function (Blueprint $table)
{
$table->string('first_name')->nullable();
});
}
};
Nueva interfaz del generador de consultas
Con el nuevo Laravel 9, la sugerencia de tipo es altamente confiable para la refactorización, el análisis estático y la finalización de código en sus IDE. Eso se debe a la falta de interfaz compartida o herencia entre Query Builder, Eloquent Builder y Eloquent Relation. Aún así, con Laravel 9, los desarrolladores ahora pueden disfrutar de la nueva interfaz del generador de consultas para sugerencias de tipo, refactorización y análisis estático.
<?php
return Model::query()
->whereNotExists(function($query) {
// $query is a QueryBuilder
})
->whereHas('relation', function($query) {
// $query is an EloquentBuilder
})
->with('relation', function($query) {
// $query is an EloquentRelation
});
Esta versión agregó el nuevo IlluminateContractsDatabaseQueryBuilder interface, así como el IlluminateDatabaseEloquentConcernsDecoratesQueryBuilder rasgo que implementará la interfaz en lugar del __call método mágico.
Funciones de cadena PHP 8
Dado que Laravel 9 apunta a PHP 8, Laravel fusionó este PR, sugiriendo usar las funciones de cadena PHP 8 más nuevas.
Estas funciones incluyen el uso de str_contains(), str_starts_with(), y str_ends_with() internamente en el IlluminateSupportStr clase.
Las características y mejoras de Laravel 9 enumeradas anteriormente son un adelanto de lo que está por venir. Definitivamente traerá muchas correcciones de errores, características y, por supuesto, muchos cambios importantes.
Cómo instalar Laravel 9
Si desea comenzar a jugar con Laravel 9 con fines de desarrollo y prueba, puede instalarlo y ejecutarlo fácilmente en su máquina local.
Laravel 9 es compatible con la versión 8 de PHP, por lo que si planea probarlo, asegúrese de verificar su versión de PHP o iniciar una nueva instalación.
Puede descubrir más detalles sobre el lanzamiento a través de Packagist.
Para instalar Laravel 9 usando Composer, ejecute lo siguiente:
composer create-project --prefer-dist laravel/laravel laravel-9-dev dev-develop
El comando anterior creará un nuevo proyecto de Laravel con el nombre del proyecto laravel-9-dev, utilizando el último Laravel 9, que, como sabemos, todavía está en desarrollo (por lo tanto dev-develop).
El segundo método es usar la CLI global de Laravel para crear un nuevo proyecto de Laravel y elegir crear su nuevo proyecto desde la rama de desarrollo.
Ingrese el siguiente comando para crear un nuevo proyecto de Laravel 9:
laravel new laravel-9-dev --dev
Ahora que ha instalado Laravel 9, puede ingresar al nuevo directorio (laravel-dev) y ejecutar el comando artisan para verificar la versión:
cd laravel-9-dev
php artisan --version
Debería presentarte la versión de desarrollo de Laravel 9. ¡Voilà!
Resumen
Laravel es un marco PHP convincente que está ganando más atención entre los desarrolladores. Su próximo lanzamiento principal (Laravel 9) es el primero después de un ciclo de lanzamiento de 12 meses, y ya podemos ver que presentará nuevas características «jugosas».
¿Es esta la lista completa de nuevas funciones? Probablemente no, ya que el equipo de Laravel probablemente anunciará nuevas funciones antes de la fecha de lanzamiento. Así que asegúrate de Marque esta publicación como favorita, ya que las cubriremos en futuras actualizaciones.
¡Ahora es tu turno! ¿Qué es lo que más esperas con Laravel 9? ¡Infórmenos en la sección para comentarios!
Ahorre tiempo, costos y maximice el rendimiento del sitio con:
- Ayuda instantánea de expertos en alojamiento de WordPress, 24 horas al día, 7 días a la semana.
- Integración de Cloudflare Enterprise.
- Alcance de audiencia global con 28 centros de datos en todo el mundo.
- Optimización con nuestro monitoreo de rendimiento de aplicaciones integrado.
Todo eso y mucho más, en un plan sin contratos a largo plazo, migraciones asistidas y una garantía de devolución de dinero de 30 días. Consulte nuestros planes o hable con ventas para encontrar el plan adecuado para usted.
