视图文件存放在:
resources/views
- 视图的默认加载目录, 从
laravel根目录/resources/views开始 - 文件名不需要填写后缀, 如
xx.blade.php, 对应文件名为xx 文件需要完整的访问路径, 使用点语法, 如
home.view_inherit.parent表示home/view_inherit/parent.blade.php视图的命名:
视图名命习惯小写(建议小写)
- 文件后缀名是
.blade.php(因为Laravel里面有一套模版引擎就是使用blade, 可以直接使用标签语法{{$title}}, 也可以使用原生的PHP语法显示数据) - 文件后缀名也可以使用
.php结尾, 但这样无法使用Laravel提供的标签语法显示数据, 只能使用原生语法<?php echo $title; ?>显示数据 - 存在两个同名视图文件时, 以
blade.php后缀的优先显示视图的展示
视图可以进行分目录管理,支持/** 从 resources/views 目录下开始查找,不需要书写文件后缀名* 返回 resources/views/视图文件*/return view('视图文件的名称');
/及.```php // 文件名可包含路径, 例如: 展示 resources/views/home/test/testview 视图 return view(‘home/test/testview’);
// 也可以使用 点写法 (命名空间) return view(‘home.test.testview’);
<a name="d6197df5"></a>## 向视图传递参数视图可以通过 Smarty 模块来读取控制器传递的数据> Laravel 以两个左大括号作为左定界符, 以两个右大括号作为右定界符, 在定界符内执行PHP代码, 读取传递过来的数据<a name="Uz24p"></a>### 控制器向视图传递参数的写法```php// 数组中存储需要分配的变量集合, 将数组的数组传递给视图// 方法1:view(模版文件名称, 数组)// 方式2:view(模版文件名称) -> with(数组)// 方式3:view(模版文件名称) -> with(名称, 值) -> with(名称, 值) ...
控制器代码, 返回视图, 不带参数
public function view() {
/*
* 从 resources/views 目录下开始查找
* 文件名称可包含路径, 不需要书写文件后缀名
* 返回 resources/views/home/view_demo/view.php 文件
*/
// return view('home/view_demo/view');
// 支持 点语法 或 / 两种写法
return view('home.view_demo.view');
}
控制器代码, 返回视图, 携带参数
// 返回视图, 并传递参数给视图
public function paraToView() {
$date = date('Y-m-d H:i:s', time());
// compact('date')函数 可以生成 ['date' => $date] 数组
// return view('home.view_demo.view', compact('date'));
// 通过关联数组进行数据传递, 视图模板根据key名来获取对应的value
return view('home.view_demo.view', ['currentDate' => $date]);
}
视图模版代码, 读取控制器传递的参数
<!-- Smarty模版, 使用 两个大括号 作为定界符 -->
{{-- Smarty模板的注释代码, 这样写Smarty才不会解析此处的内容 --}}
{{--控制器传递过来的时间为: {{date}} <br/>--}}
{{-- 在两个大括号的定界符中, 可以执行 php 代码, 注意语法不要写错 --}}
控制器传递过来时间缀, 由视图模版来执行代码并处理, 按视图模版中指定格式来显示时间: {{date('Y-m-d H:i:s'), $currentDate}} <br/>
当前访问的是 view.blade.php; <br/>
默认查找 .blade.php 后缀的文件, 找不到再查找 .php 的文件 <br/>
