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'); });
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');
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');
This example binds the current directory '/' to the control The index method under UseController
Route::get('/about','UseController@about');
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');
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';
you can
return view('index')=>with('name',$name);
and then use {{ $name }} in the template To parse the allocated variables.
The above method is equivalent to
return view('index',['a'=>'b']);
However, when parsing in the template, you still need to use {{ $a }} to allocate variables.
2:
If
$articles = DB::table('user')->get();
uses the results of database query
I have also seen someone recommend this writing method
return view('user.dashboard.index', compact('articles'));
But this is all personal operating habits.
When using the compact
function, we can directly traverse
$data = ['a','b','c'];
while using
In the case of@foreach($data as $v)
, 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);
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 = '<span style="color:red">this Laravel</span>';
{{ $a }} Output
<span style="color:red">this Laravel</span>
{{!! $aa !!}} Output in red font
'this Laravel'
Knowledge point, if the loaded variable is a one-dimensional array, the output in the template is {{ $key name}}, for example:
$data['a'] = 'this'; $data['n'] = 'that'; return view('sites.my',$data);
Then in the template
<p>我是$data分配过来的变量{{ $a }}</p>
This way OK, you cannot use
$data['a']
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!