In more than one page we may contain the same content, such as file headers, linked CSS or JS, and so on. We can use the layout file to complete this function.
Let's create a new layout file, such as views/layout.blade.php
We created a puzzled structure, introduced the bootstrap, note @yield is the blade layout placeholder, the future of our page content will be populated here, modify about.blade.php
@extends (' layout ')
@section (' content ')
The code above indicates that we use the layout file layout.blade.php and then add content to the contents section.
Add in routes.php:
Route::get (' About ', ' pagescontroller@about ');
Route::get (' Contact ', ' pagescontroller@contact ');
Add in pagescontroller.php:
Public function Contacts () {return
view (' pages.contact ');
}
New View pages/contact.blade.php
@extends (' layout ')
@section (' content ')
Check it out!
In the layout file we can add multiple @yield, such as adding @yield to the layout.blade.php (' footer '):
For example, there is a script in contact.blade.php that can be placed in this section.
@extends (' layout ')
@section (' content ')
Access to the contact will have a dialog box, and about is still a normal display
Use @if for judgment
@extends (' layout ')
@section (' content ')
@if ($first = ' Zhang ')
It can also be equated with the @unless as if!, and @foreach.
Public function about ()
{
$people = [
' Zhang San ',
' Li si ',
' Wang Wu '
];
Return view (' Pages.about ', compact (' People '));
}
@extends (' layout ')
@section (' content ')
In one case, the data might come from a database, and the collection might be empty, like this:
Copy Code code as follows:
To handle this situation, add @if processing
@extends (' layout ')
@section (' content ')
@if (count ($people))
That ' s better.
The above mentioned is the whole content of this article, hope to be able to learn Laravel5 to be helpful to everybody.