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 it For the pseudo-static of apche and nginx, you can access it through the domain name http:xxx.com/
Then a beautiful Laraver interface will appear.
So what does return refer to? It is to return a View files, Laraver's view files are under laravel\resources\views. Laraver stipulates that the view file name ends with .blade.php. Usually we need a lot of views when doing projects, so we can under views It is possible to define many directories and then place them in
return view('index.index');
. It represents the view file in the directory below the view. Many frameworks are like this, but the file name is The naming will be different.
The above is just a simple route that calls an anonymous function, so how to use it in conjunction with control.
Laraver’s controller directory is in laravel\app\Http \Controllers Below, you can create a controller through the
php artisen make:controller UseController
command that comes with Laraver, and the commonly used method, if we output the content under the index method of the control
If you need a controller without any definition, please add the --plain parameter after it
But how to access it? Please look at the code
Route::get('/','UseController@index');
This example binds the current directory '/' to the index method under the controller UseController
Route::get('/about','UseController@about');
Another example is this, we can use http:xxx.com/about to access the specified control method
There are many get here, such as needing to use post, etc. , 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 delivery methods such as get or post Index, the first method name should be capitalized. If passing parameters, it should be in function ($a), and write .
in the function. Classify the variable to the blade template. Note here that it is different from the thinkphp framework. We commonly use it. The following methods:
1:
If
$name = 'php artisen';
you can
return view('index')=>with('name',$name);
Then use {{ $name }} in the template to parse the assigned variables.
The above method is equivalent In
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();
the result of using database query
is also I saw someone recommending this way of writing
return view('user.dashboard.index', compact('articles'));
But this is all personal operating habits.
When using the compact
function In this case, we can directly traverse
$data = ['a','b','c'];
in the case of using
@foreach($data as $v)
Next, you can directly use {{ $v }} to traverse
3:
Of course we usually allocate arrays or objects Come over. So generally use the following method
You can
return view('index',$data);
It should be noted that the default is PDO in database.php under config 'fetch' => 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 kind, if it is an array, it is {{ $a['v'] }}
About escaping and not escaping during loading Meaning, for example:
$a = '<span style="color:red">this Laravel</span>';
##{{ $a }} Output
<span style="color:red">this Laravel</span>
{{!! $aa !!}} Output the
'this Laravel'
$data['a'] = 'this'; $data['n'] = 'that'; return view('sites.my',$data);
## in the template.
#<p>我是$data分配过来的变量{{ $a }}</p>
This works, you can’t use it
$data['a']
以上就是本文的全部内容,希望对大家的学习有所帮助,更多相关内容请关注PHP中文网!
相关推荐:
The above is the detailed content of Functionality for Laravel framework template loading and assigning variables and simple routing. For more information, please follow other related articles on the PHP Chinese website!