1.路由
首先我们需要定义路由,然后通过它访问对应的控制器方法或直接匿名函数处理后返回.
//访问/test1路由会直接输出 Hello World
Route::get('/test1', function () {
return 'Hello World';
});
//此路由访问会去调用根目录下resources\views\welcome.blade.php 模板文件
Route::get('/test2', function () {
return view('welcome');
});
//路由指向控制器方法
Route::get('/test','TestController@index');
路由指向控制器方法,需要先用命令创建控制器
php artisan make:controller TestController
php artisan make:controller TestController --plain
第一条命令可生成带各种所需引用的控制器文件,第二命令生成标准化的控制器.
然后就可以在TestController控制器里边写方法逻辑了.
2.给视图传递变量
//1.直接数据传递
public function index(){
$data = [
'first' => 'Jonny',
'last' => 'Chen',
];
return view('welcome',$data);
}
//2.使用with单个传递
public function test1(){
$first = 'Jonny';
return view('welcome')->with('first',$first);
}
//3.使用with整个数组形式传递
public function test2(){
$data = [
'first' => 'Jonny',
'last' => 'Chen',
];
return view('welcome')->with($data);
}
//4.使用compact方法多个变量的名称传递
public function test(){
$first = 'Jonny';
$last = 'Chen';
return view('welcome',compact('first','last'));
}
3.视图里边使用
我们可以在welcome.blade.php里边把上面控制器方法传递过来的变量输出.
<div class="title m-b-md">
{{$first}} {{$last}}
</div>
使用两个大括号表示输出变量
Blade 的 {{}} 语句已经经过 PHP 的 htmlentities 函数处理以避免 XSS 攻击。
如果你不想要数据被处理,可以使用如下语法:Hello, {!! $name !!}.如果变量有HTML代码,会直接输出 HTML 代码
注:如果视图里边输出了没有传递的变量,访问路由会报错.