Home > Backend Development > PHP Tutorial > Analysis of Laravel framework template loading, variable allocation and simple routing functions

Analysis of Laravel framework template loading, variable allocation and simple routing functions

不言
Release: 2023-03-31 14:22:02
Original
1602 people have browsed it

This article mainly introduces the Laravel framework template loading, variable allocation and simple routing functions. It analyzes the related principles, operating skills and precautions of the Laravel framework template loading, variable allocation and simple routing functions in the form of examples. Friends who need it can Refer to the examples below

This article describes the Laravel framework template loading, variable allocation and simple routing functions. Share it with everyone for your reference, the details are as follows:

As the world's number one PHP framework, it is imperative to learn Laraver. Although ThinkPHP is popular in China, it is always good for you to know one more framework.

Through the previous article's method of quickly installing the Laravel framework on a local virtual machine, we have been able to successfully install Laravel

After installation, there is a routes.php in the directory laravel\app\Http File, the point is, this is the routing file that controls the entire site.

Route::get('/', function () {
 return view('welcome');
});
Copy after login

The above is a simple route. If you bind the route and enable the pseudo-static of apche and nginx, you can use the domain name http :xxx.com/ to visit

Then a beautiful Laraver interface will appear.

So what does return refer to? It is to return a view file. Laraver’s view file is in laravel \resources\views Below. Laraver stipulates that the view file name ends with .blade.php. Usually we need a lot of views when doing projects, so we can define many directories under views, and then

return view('index.index');
Copy after login

All are possible. Indicates the view file in the directory below the view. Many frameworks are like this, but the file names will be different.

The above is just a simple route that calls an anonymous function, so what? Use it in conjunction with control.

Laraver’s controller directory is under laravel\app\Http\Controllers. You can use Laraver’s own

php artisen make:controller UseController

command to create a controller, and commonly used methods have been generated in it. If we output the content under the index method of the control

If necessary, there is no definition Controller, please add the --plain parameter after it

But how to access it, please see the code

Route::get('/','UseController@index');
Copy after login

This example binds the current directory '/' to the control The index method under UseController

Route::get('/about','UseController@about');
Copy after login

Another example is this, we can access the method under the specified control at http:xxx.com/about

There are many get here, for example, you need to use post Wait, I will contact you one after another in the future.

Then there is another problem, is it very troublesome to define a route every time, so Laraver allows us to use implicit controllers

Route::controller('User','UserController');
Copy after login

This is to access any method under User without specifying a route, but in this case remember to follow the following format in the method

Specify the delivery method Index such as get or post, and the first method name must be capitalized. If you want to pass parameters, you should write .

in function($a). Classify variables to the blade template. Note here that unlike the thinkphp framework, we commonly use the following methods:

1:

If

$name = 'php artisen';
Copy after login

you can

return view('index')=>with('name',$name);
Copy after login

and then use {{ $name }} in the template To parse the allocated variables.

The above method is equivalent to

return view('index',['a'=>'b']);
Copy after login

However, when parsing in the template, you still need to use {{ $a }} to allocate variables.

2:

If

$articles = DB::table('user')->get();
Copy after login

uses the results of database query

I have also seen someone recommend this writing method

return view('user.dashboard.index', compact('articles'));
Copy after login

But this is all personal operating habits.

When using the compact function, we can directly traverse

$data = ['a','b','c'];
Copy after login

while using

In the case of
@foreach($data as $v)
Copy after login

, you can directly use {{ $v }} to traverse

3:

Of course we commonly use All are allocated arrays or objects. So generally use the following method

You can

return view('index',$data);
Copy after login

It should be noted that by default, PDO 'fetch' in database.php under config => PDO::FETCH_ASSOC, the default is FETCH_CLASS as the object format

So when traversing, if the default settings are not modified, the traversal will be {{ $a->v }}This, if it is an array, it is {{ $a['v'] }}

About escaping and non-escaping during loading, examples are as follows:

$a = &#39;<span style="color:red">this Laravel</span>&#39;;
Copy after login

{{ $a }} Output

<span style="color:red">this Laravel</span>
Copy after login

{{!! $aa !!}} Output in red font

&#39;this Laravel&#39;
Copy after login

Knowledge point, if the loaded variable is a one-dimensional array, the output in the template is {{ $key name}}, for example:

$data[&#39;a&#39;] = &#39;this&#39;;
$data[&#39;n&#39;] = &#39;that&#39;;
return view(&#39;sites.my&#39;,$data);
Copy after login

Then in the template

<p>我是$data分配过来的变量{{ $a }}</p>
Copy after login

This way OK, you cannot use

$data[&#39;a&#39;]
Copy after login

The above is the entire content of this article. I hope it will be helpful to everyone's learning. For more related content, please pay attention to the PHP Chinese website!

Related recommendations:

How to use Laravel framework template inheritance operations

The above is the detailed content of Analysis of Laravel framework template loading, variable allocation and simple routing functions. 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