Primeras noticias de Laravel 7: Binding de Modelos Implícitos

Primeras noticias de Laravel 7: Binding de Modelos Implícitos

Primeras noticias de Laravel 7, Lo nuevo de Laravel 7: Binding de Modelos Implícitos en las Rutas. Laravel no para de sacar nuevas funcionalidades y Taylor Otwell ya ha anunciado la primera característica que se agregará a Laravel 7 y son los binding de modelos implícitos en las rutas. ¿Qué son los Binding de Modelos? Laravel 7 verá la luz en Febrero del 2020.

Laravel no para de sacar nuevas funcionalidades y Taylor Otwell ya ha anunciado la primera característica que se agregará a Laravel 7 y son los binding de modelos implícitos en las rutas..

¿Qué son los Binding de Modelos?

Los binding de modelos en las rutas es una característica muy poderosa que tiene Laravel. Cuando indicamos que una ruta va a recibir un ID, por ejemplo Route::get('post/{id}', '[email protected]'); podemos cambiar el parámetro {id} por el nombre del modelo que queremos obtener, {post} e igualmente enviamos el valor del ID.

De esta manera, Laravel buscara automática el post con dicho ID y tendremos disponible el modelo encontrado, en nuestro controlador. En caso que no encuentre el registro, arrojara un error 404.

Hasta acá esto esta barbaro, pero el tema es ¿que paso si no quiero enviar el id y quiero enviar otro valor, como el slug por ejemplo? ¿Hay una forma de que Laravel se siga comportando de la misma forma?

Pues si, si la hay. Pero debemos meter mano en el código. Lo que deberíamos hacer es sobrescribir el método getRouteKeyName() en el modelo Post y establecer por que columna queremos que se haga el binding.

Y a partir de aquí ya podríamos enviar el titulo del post formateado en slug, en vez del ID del producto.

Lo nuevo de Laravel 7: Binding de Modelos Implícitos en las Rutas

A partir de Laravel 7 podremos especificar directamente en la ruta el campo por el que queremos que se haga el binding. Por ejemplo, el caso anterior se reemplazaría con el siguiente código:

Route::get('/posts/{post:slug}', '[email protected]');

Ayudándonos con los dos puntos, establecemos el campo de post por el cual queremos que se haga el binding. Y ya no es necesario sobrescribir el método getRouteKeyName().

Cabe aclarar, que el método getRouteKeyName() no quedara en desuso, por lo tanto, tus proyectos actuales que lo estén utilizando, no tendrán problemas.

Lo mejor de todo, es que vamos a poder definir rutas para la misma entidad pero que se vinculen por distintos campos. Cosa que, con la forma de sobrescribir el método, no podíamos.

Por ejemplo, podríamos tener:

Route::get('/posts/{post:slug}', '[email protected]');

Y también podríamos tener:

Route::get('/posts/{post:id}/edit', '[email protected]');
Conclusión

Me parece una gran característica que permite una mejor organización y flexibilidad. Hoy por hoy, es un poco raro tener un método en el modelo encargado de un proceso que tiene que ver con las rutas, no? Y encima establecer un único campo como binding del modelo. Pero creo que esta característica nos ayudara mucho a nuestros sistemas.

Laravel 7 verá la luz en Febrero del 2020 y espero que vengan muchas nuevas cosas tan interesantes como esta. Sígueme en mis redes sociales para enterarte todas las noticias de Laravel. Nos vemos en la próxima 😉🤙.

Originally published at https://www.laraveltip.com

Angular 9 Tutorial: Learn to Build a CRUD Angular App Quickly

What's new in Bootstrap 5 and when Bootstrap 5 release date?

What’s new in HTML6

How to Build Progressive Web Apps (PWA) using Angular 9

What is new features in Javascript ES2020 ECMAScript 2020

Clear Cache in Laravel 6.8 App using Artisan Command Interface (CLI)

Clear Cache in Laravel 6.8 App using Artisan Command Interface (CLI)

In Laravel 6 tutorial, we learn how to use PHP artisan command interface (CLI) to clear the cache from Laravel 6.8 application. How To Clear Cache in Laravel 6.8 Application using Artisan Command Line Interface (CLI)? How to clear route cache using php artisan command? How to easily clear cache in Laravel application? How to clear config cache in PHP Laravel via artisan command? How to clear Laravel view cache? How to Reoptimized class in Laravel via artisan CLI?

Today in this tutorial, we are going to learn how to clear route cache, laravel application cache, config cache, view cache and reoptimized class in a Laravel 6.8 application using artisan command-line interface.

I’m pretty sure many of you may have found yourself gotten into the situation where you do not see changes in the view after making the changes in the app.

Laravel application serves the cached data so caching problem occurs due to the robust cache mechanism of Laravel.

But, if you are still facing this issue, then you do not have to worry further. Let me do the honour of introducing you some of the best artisan commands to remove the cache from your Laravel app via PHP artisan command line interface.

Artisan is the command-line interface included with Laravel. It provides a number of helpful commands that can assist you while you build your application.

Table of Contents

  • Clear Route Cache in Laravel
  • Clear Laravel Application Cache
  • Clear Config Cache via PHP Artisan
  • Clear Laravel View Cache
  • Reoptimized Class
Clear Route Cache in Laravel

Laravel caching system also takes routes in consideration, to remove route cache in Laravel use the given below command:

php artisan route:cache
Clear Application Cache in Laravel

Run the following command to clear application cache:

php artisan cache:clear
Clear Config Cache in Laravel

Run the following command to clear config cache:

php artisan config:cache
Clear View Cache in Laravel

Run the following command to clean your view cache:

php artisan view:clear
Reoptimize Class

Run the below command to reoptimize the class loader:

php artisan optimize

Conclusion

We have completed this Laravel 6 tutorial, In this tutorial we learned how to use php artisan command to clear the cache from your Laravel application. We have answered the following questions in this article.

  • How to clear route cache using php artisan command?
  • How to easily clear cache in Laravel application?
  • How to clear config cache in PHP Laravel via artisan command?
  • How to clear Laravel view cache?
  • How to Reoptimized class in Laravel via artisan CLI?

Now, it’s your time to let me know what do you think about this laravel 6 article. Go forth and try these super awesome artisan commands and let me know how these commands are helping you.

Get Weather Data with Laravel Weather

Get Weather Data with Laravel Weather

Get Weather Data with Laravel Weather. Laravel Weather is a good package which we can use to get weather data. It's a wrapper around Open Weather Map API (Current weather). A wrapper around Open Weather Map API (Current weather)

🌤️ A wrapper around Open Weather Map API (Current weather)

Installation

You can install the package via composer:

source-shell
composer require gnahotelsolutions/laravel-weather
Usage
text-html-php
$weather = new Weather();

// Checking weather by city name
$currentWeatherInGirona = $weather->get('girona,es');

// You can use the city id, this will get you unambiguous results
$currentWeatherInGirona = $weather->find('3121456');

Units

By default the package uses metric for Celsius temperature results, this can be modified using the configuration file or on the fly:

text-html-php
$weather = new Weather();

$currentWeatherInGirona = $weather->inUnits('imperial')->get('girona,es');

Language

By default the package uses es for the description translation, this can be modified using the configuration file or on the fly:

text-html-php
$weather = new Weather();

$currentWeatherInGirona = $weather->inLanguage('en')->get('girona');

Guzzle Client Instance

If you need to use another instance of Guzzle, to modify headers for example:

text-html-php
$weather = new Weather();

$guzzle = $this->getSpecialGuzzleClient();

$currentWeatherInGirona = $weather->using($guzzle)->get('girona');

Testing

source-shell
composer test

How to Use Sweet Alert in Laravel?

How to Use Sweet Alert in Laravel?

This Laravel tutorial explains how to use Sweet Alert in Laravel. Laravel SweetAlert is a Laravel package by Rashid Ali that integrates the popularJavaScript SweetAlert 2 library with Laravel. Sweet Alert is a Laravel wrapper around SweetAlert JavaScript library for showing alert or notification message.

This Laravel tutorial explains how to use Sweet Alert in Laravel. Laravel SweetAlert is a Laravel package by Rashid Ali that integrates the popularJavaScript SweetAlert 2 library with Laravel. Sweet Alert is a Laravel wrapper around SweetAlert JavaScript library for showing alert or notification message.

This is a great package created by rashid, and this laravel package is very famous because it has tonnes of features you can choose from.