Wouldn't it be cool if Laravel came with a few helper directives like nl2br? Well, hopefully, they will include it in the future. For now, I am going to show you how to set up a custom one yourself.
The Setup
First, open up your AppServiceProvider.php
file from app/Providers
.
Here we define, our blade directive in the boot()
function as follows:
<?php
namespace App\Providers;
use Illuminate\Support\Facades\Blade;
use Illuminate\Support\ServiceProvider;
class AppServiceProvider extends ServiceProvider
{
/**
* Register any application services.
*
* @return void
*/
public function register()
{
//
}
/**
* Bootstrap any application services.
*
* @return void
*/
public function boot()
{
//
Blade::directive('nl2br', function ($string) {
return "<?php echo nl2br(htmlentities($string)); ?>";
});
}
}
The Usage
You can now use our custom-built @nl2br()
directive in any our your Blade views.
An example:
<div class="description">
@nl2br($description)
</div>
That's All
Great, now you know just a bit more about the Laravel world. If you come up with more such directives I'd love to see them in the comments.
Thanks for reading.
Top comments (0)