Laravel工作流程

/ 0评 / 0

Laravel是怎么工作的呢?其实像大多数PHP框架一样,都采用了MVC的模式,我们看到的视图通过controller来控制,但是在Laravel中起到关键作用的是另一样东西,在每次访问服务的时候 Laravel 框架都会首先把我们引入到routes这个文件,也就是路由文件,就是我们访问的url地址配置文件,所有路由对于Laravel来说还是很重要的,下面介绍一下路由的简单写法

//这样我们就能访问根路径就能看到Hello World!了。
Route::get('/', function () {
    return 'Hello World!';
});

//这是给我们返回了welcome这个视图
Route::get('/', function () {
    return view('welcome');
});

//这是给我们返回了site文件夹下index的视图,这些都是blade模板引擎的功劳,所以我们的视图文件命名规范就是 ***.blade.php
Route::get('/', function () {
    return view('site/index');
});

//和上面一样,只是写法不同
Route::get('/', function () {
    return view('site.index');
});
<>
/pre

下面我们介绍一下controller控制器,我们这里使用artisan命令行工具来生成控制器,在Laravel根目录下输入以下命令

php artisan make:controller SiteController

这样 Laravel 就会自动为我们生成Site这个控制器

我们在这个控制器里写下下面的函数方法

public function index(){
        return view('Site/index');
}

然后我们的路由就可以改成这样:

Route::get('/site', 'SiteController@index');

再次访问site路径,得到了与上面一样的结果,这就是 Laravel 的工作流程。
那么怎么将变量从控制器传递到视图呢?

控制器将变量传递给视图有一下几种方法

public function index(){
		$name = 'hello';

        return view('Site.site')->with("name",$name);
}

public function index(){
		$first = 'Hello';
        $second = 'World';

        return view('Site.site')->with([
			'first' => $first,
			'second'=> $seconnd,
        ]);
}

public function index(){
		$data['first'] = 'Hello';
        $data['second'] = 'World';

        return view('Site.site',$data);
}

public function index(){
        $first = 'Hello';
        $second = 'World';

        return view('Site.site',compact('first', 'second'));
}

我们可以在视图中接收变量

name = 

也可以使用 blade 引擎提供的方法

name = {{ $name }}  //需要将值转义
name = {!! $name !!}  //不需要将值转义,最好是转义,不然容易被攻击

评论已关闭。