视图文件存放在: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 后缀的优先显示

    视图的展示

    1. /*
    2. * 从 resources/views 目录下开始查找,不需要书写文件后缀名
    3. * 返回 resources/views/视图文件
    4. */
    5. return view('视图文件的名称');
    视图可以进行分目录管理,支持 /. ```php // 文件名可包含路径, 例如: 展示 resources/views/home/test/testview 视图 return view(‘home/test/testview’);

// 也可以使用 点写法 (命名空间) return view(‘home.test.testview’);

  1. <a name="d6197df5"></a>
  2. ## 向视图传递参数
  3. 视图可以通过 Smarty 模块来读取控制器传递的数据
  4. > Laravel 以两个左大括号作为左定界符, 以两个右大括号作为右定界符, 在定界符内执行PHP代码, 读取传递过来的数据
  5. <a name="Uz24p"></a>
  6. ### 控制器向视图传递参数的写法
  7. ```php
  8. // 数组中存储需要分配的变量集合, 将数组的数组传递给视图
  9. // 方法1:
  10. view(模版文件名称, 数组)
  11. // 方式2:
  12. view(模版文件名称) -> with(数组)
  13. // 方式3:
  14. 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/>