Home > Backend Development > PHP Tutorial > Share 5 very useful Laravel Blade instructions

Share 5 very useful Laravel Blade instructions

不言
Release: 2023-03-28 18:14:02
Original
2921 people have browsed it

This article mainly introduces 5 very useful Laravel Blade instructions to you. The article introduces it in detail through sample code. It has certain reference learning value for everyone's study or work. Friends who need it can take a look. Let’s take a look

Introduction

Blade is a very simple and powerful template engine provided by Laravel, which is different from other popular PHP Template engine, Blade does not restrict you from using PHP native code in the view. All Blade views are compiled into native PHP code and cached until modified, meaning Blade has essentially zero overhead on application performance. Blade view files use the .blade.php file extension and are stored in the resources/views directory.

Next I will introduce you to five Laravel Blade commands, which will make you even more powerful when solving specific problems. If you are new to Laravel, these tips can help you realize the convenience and efficiency of the Laravel Blade template engine.

Without further ado, let’s get started.

1. Check whether the user is authenticated

You can check whether the user is authenticated by verifying whether it is empty:

@if(auth()->user())
 // 用户已认证
@endif
Copy after login

However, Laravel’s own Blade command can achieve the same function more concisely:

@auth
 // 用户已认证
@endauth
Copy after login

2. Detect whether the user is a guest

#Contrary to authentication, we can use the guest() method of the auth auxiliary function to detect whether the user is a guest Guest:

@if(auth()->guest())
 // 用户未认证
@endif
Copy after login

But Laravel also provides the @guest command for this:

@guest
 // 用户未认证
@endguest
Copy after login

We can also use the else statement to combine these two commands:

@guest
 // 用户未认证
@else
 // 用户已认证
@endguest
Copy after login

##3. If the first view exists, it will be introduced. Otherwise introduce the second

Building a multi-theme site may have the need to introduce one file if it exists, and another if it does not exist. You can simply use conditional judgment to Implementation:

@if(view()->exists('first-view-name'))
 @include('first-view-name')
@else
 @include('second-view-name')
@endif
Copy after login

But there is still a more concise and intuitive command to do this:

@includeFirst(['first-view-name', 'second-view-name']);
Copy after login

4. Introduce views based on conditions

When you only want to view a view based on certain logic (such as: an authenticated When users) add some content, it is very useful to introduce views based on conditions.

You can use @if conditions to write like this:

@if($post->hasComments())
 @include('posts.comments')
@endif
Copy after login

We can do it with just one line of command @includeWhen:

@includeWhen($post->hasComments(), 'posts.comments');
Copy after login

5. Introduce an existing view

If you have a custom theme The system or you need to dynamically create Blade views, then checking whether the file exists is a must.

You can call the exists method on the auxiliary function view():

@if(view()->exists('view-name'))
 @include('view-name')
@endif
Copy after login

You can also use the Blade command includeIf to handle it:

@includeIf('view-name')
Copy after login

You can learn more practical tips to optimize the front-end template in your Laravel project through the Blade official documentation.

Happy refactoring!

Related recommendations:

How to use Redis in Laravel framework

Source code analysis Detailed explanation of Laravel dependency injection steps

The above is the detailed content of Share 5 very useful Laravel Blade instructions. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template