显示视图
在lavarel中,所有的html模板都保存在resources/views目录,且我们可以在路由中使用view辅助函数来返回指定模板文件:
Route::get('/', function () {
return view('tasks');
});
定义布局
为解网站的公共布局样式,减少代码的冗余性,lavarel使用Blade布局让不同页面共用这些相同的布局。
我们可以新建一个布局视图至resources/view/layouts/app.php中。”.blade.php”扩展名将会告知框架使用Blade模板引擎渲染此视图。如下app.blade.php:
//resources/views/layouts/app.pho
<!DOCTYPE html>
<html lang="en">
<head>
<title>Lavarel 快速入门 - 基础</title>
</head>
<body>
<div class = "container">
<nav class="navbar navbar-default">
//navhar 内容
</nav>
</div>
@yield('content')
</body>
</html>
注意不居中的@yield(‘content’)部分。这是一个特殊的Blade命令,可以将子页面的内容注入到这里。下面我们来定义子视图。
定义子视图
创建子视图resources/views/tasks.blade.php,内容如下:
//resources/views/tasks.blade.php
@extends('layouts.app')
@section('content')
<div class="panel-body">
<!-- 显示验证错误 -->
@include('common.errors')
<!-- 新任务的表单 -->
<form action="/task" method="post" class="form-horizontal">
{{csrf_field() }}
<!-- 任务名称 -->
<div class="form-group">
<labek for="task" class="col-sm-3 control-label">Task</label>
<div class="col-sm-6">
<input type="text" name="name" id="task-name" class="form-control">
</div>
</div>
<!-- 增加任务按钮 -->
<div class="form-group">
<div class="col=sm-offset-3 col-sm-6">
<button type="button" class="btn btn-default">
<i class="fa fa-plus"></i>增加任务
</button>
</div>
</div>
</form>
</div>
@endsection
注:
- @extends命令会告知Blade我们使用了定义在resources/views/layouts/app.blade.php中的布局。
- @section(‘content’)及@endsection之间的内容都会被注入到app.blade.php布局中的@yield(‘content’)位置上。
返回视图
在/路由中返回视图:
Route::get('/', function() {
return view('tasks');
});
配置路由
在网站目录架构的routes文件夹中的web.php文件中配置网站中的所有路由信息,实例值如下:
Route::group(['namespace'=>'Backend', 'middleware'=>'auth'], function() {
Route::post('reconmmend-purchase', 'RecommendController@purchase');
Route::post('reconmmend-supply', 'RecommendController@supply');
Route::get('occount', 'HomeController@index');
})