¿Te gustaría aprender a PHP desde cero?
Tenemos los cursos que necesitas. ¡Haz clic aquí!
Quizás tú te estés preguntando “¿Otra versión más?” Pero a diferencia de versiones anteriores como la 5.1., esta es estable. ¿Qué significa? Que podremos utilizarla para nuestros proyectos de producción, así de simple.
Vemos pequeñas versiones tan seguido, y para sus componentes opcionales como (cashier, valet, socialite, etc), utiliza paragm.minor.patch, *lanzamientos de parches y cambios que son compatibles con versiones anteriores.
Esta nueva versión estable proporciona durante 2 años correcciones menores a errores, además de revisiones de seguridad para 3 años. Esto nos asegura su uso a una escala profesional dentro de nuestros proyectos.
Entre las mejoras que nos trae Laravel 5.5 LTS tenemos:
- La auto-detección de paquetes.
- Registros automáticos de los comandos de consola.
- Nuevos presets de frontend.
- Encadenamiento de trabajos en cola.
- Reglas de validación.
- Notificaciones bajo demanda.
- Manejo de excepciones personalizadas y más sencillas de utilizar.
- Solicitud de validación
- Bloqueos para los controladores de memoria caché (MEMCACHED Y REDIS).
- Mejoras a nuestra plantilla blade.
- Nuevos métodos Route::view y Route::redirect
- Mejora en el soporte para proxys de confianza.
Laravel 5.5 convenientemente para nosotros se lanza junto con LARAVEL HORIZON, un hermoso tablero de colas.
AUTO-DETECCION DE PAQUETES:
Laravel 5.5 LTS puede detectar y registrar automáticamente paquetes de servicios y fachadas.
Procedimiento en el pasado:
- Instalación del paquete vía composer.
- Añadir las dependencias a la configuración del service provider.
- Añadir las fachadas a la configuración del service provider.
Procedimiento actual:
- Instalar el paquete via composer. FIN.
El cambio viene del lado del desarrollador de paquetes ya que él será el que deba añadir estas dependencias al composer.json, de la siguiente manera:
"extra": { "laravel": { "providers": [ "Laravel\\Tinker\\TinkerServiceProvider" ] } },
REGISTROS AUTOMÁTICOS DE LOS COMANDOS DE CONSOLA.
Cuando creamos comandos por consola lo que teníamos que hacer es registrar ese comando en nuestro archivo kernel.php, pues ahora nos han simplificado el trabajo, existe un método load que escanea el directorio de comandos y lo registra automáticamente.
protected function commands(){
$this->load(__DIR__.'/Commands');
}
NUEVOS PRESETS DE FRONTEND
Laravel 5.5 nos permite intercambiar Vue por React scaffoldin usando un simple comando:
php artisan preset react
o deshabilitar los dos:
php artisan preset none
Estos comandos solo deben utilizarse en proyectos nuevos.
ENCADENAMIENTO DE TRABAJOS EN COLA.
Ahora puedes poner en cola trabajos que deben ejecutarse de forma secuencial.
Para ellos solo utilizaremos el método withChain.
ProvisionServer::withChain([
new InstallNginx,
new InstallPhp
])->dispatch();
REGLAS DE VALIDACIÓN
Con el comando php artisan make:rule NombreDeLaValidacion, Artisan generará una nueva regla de validación que podremos utilizar para validaciones personalizadas en nuestra aplicación.
Principalmente trabaja bajo dos métodos passes* aplicamos las reglas y message* controlamos los mensajes de error para la validación.
NOTIFICACIONES BAJO DEMANDA
Si queremos enviarle una notificación a un usuario que no tenemos registrado en nuestra aplicación, lo podemos hacer utilizando un route notification: Notification:route, por ejemplo:
Notification::route('mail', 'taylor@laravel.com')
->route('nexmo', '5555555555')
->send(new InvoicePaid($invoice));
Estaríamos enviando un email y un sms.
MANEJO DE EXCEPCIONES PERSONALIZADAS Y MÁS SENCILLAS DE UTILIZAR.
Ahora puedes crear excepciones y personalizarlas con una respuesta adecuada, definiendo en el método render sus excepciones. Además, para personalizar la lógica de informes, se puede utilizar el método report de la clase:
namespace App\Exceptions;
use Exception;
class SpecialException extends Exception {
public function report(){
}
public function render($request) {
return response(...);
}
}
SOLICITUD DE VALIDACIÓN
Entre las múltiples opciones que nos da el objeto Request, ahora también nos permite hacer una validación como lo hacía nuestra capa de form request.
use Illuminate\Http\Request;
Route::get('/comment', function (Request $request) {
$request->validate([
'title' => 'required|string',
'body' => 'required|string',
]);
});
MEJORAS A NUESTRA PLANTILLA BLADE
Blade proporciona ahora un método Blade::if que permite definir directivas condicionales personalizadas. Estas nuevas directivas las podremos registrar dentro del método boot en AppServiceProvider.
use Illuminate\Support\Facades\Blade;
public function boot() {
Blade::if('env', function ($environment) {
return app()->environment($environment);
});
}
Una vez que se ha definido el condicional personalizado, podemos utilizarlo fácilmente en nuestras plantillas:
@env('local')
@else
@endenv
También tenemos un nuevo método para comprobar el estado de autenticación del usuario, *nos olvidamos el Auth::check().
>@auth
// The user is authenticated...
@endauth
@guest
// The user is not authenticated...
@endguest
NUEVOS MÉTODOS ROUTE::VIEW Y ROUTE::REDIRECT
Explicación simple: si quieres hacer una redirección, lo puedes hacer directamente desde una ruta.
Route::redirect('/here', '/there', 301);
Si necesitas renderizar una vista, olvídate de crear un nuevo controlador o usar la ruta como un closure, puedes hacerlo utilizando Route::view.
Route::view('/welcome', 'welcome', ['name' => 'Taylor']);
Te esperamos en los siguientes artículos en donde hablaremos más acerca de estos temas, los cuales hoy en día son de vital importancia en el mundo de la tecnología.
¿Te gustaría aprender a PHP desde cero?
Tenemos los cursos que necesitas. ¡Haz clic aquí!