经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 程序设计 » PHP » 查看文章
Laravel基础-关于引入公共文件的两种方式
来源:jb51  时间:2019/10/21 8:38:45  对本文有异议

(1)、首先在app\Http\routes.php中定义路由;

  1. Route::get('view','ViewController@view');
  2. Route::get('article','ViewController@article');
  3. Route::get('layout','ViewController@layout');

(2)、然后在Http\Controllers\ViewController.php中写入方法;

  1. public function view(){
  2. return view('index');
  3. }
  4. public function article(){
  5. return view('article');
  6. }
  7. public function layout(){
  8. return view('layout');
  9. }

(3)、然后在新建不同的视图文件,路径为:resources\views

  1. index.blade.php
  2. article.blade.php
  3. layout.blade.php

重点:

1、使用include的方式:

一、在views下建立common目录文件,用于存放公共文件;

二、将公共内容放入common下,如在common建立了一个header.blade.php;

三、在视图中引入公共文件:

  1. @include('common.header')
  2. //这样的书写方式来引入:目录名称.公共文件名

另外,如果在header公共区域中有不同的数据,那么可以使用以下方式来传递数据:

  1. //视图中的代码
  2. @include('common.header',['page' => '详细页面'])
  3.  
  4. //header.blade.php公共文件中的代码
  5. {{$page}}--公共部分

那么,以上会输出:详细页面–公共部分

即传递成功

2、使用子视图的方式来引入,并且拥有相互传递数据的功能:

一、在views下建立layouts目录,其下放主视图。views下的则为子视图。

二、在layouts下建立home.blade.php主视图文件。可以供子视图调用。

三、在views目录下的layout.blade.php中引入主视图文件:采用继承的方式:

home主视图里:

  1. <div class="container">
  2.  
  3. <!-- @yield('content') -->
  4. yield是一个标识,标识是不一样的变量数据
  5.  
  6. @section('content')
  7. <b>我是主模板里的内容</b>
  8. @show
  9. //在主视图想获取子视图变量数据的情况下,必须使用show关键字而不是endsection

子视图里:

  1. //继承使用主视图
  2. @extends('layouts.home')
  3.  
  4. //section可以获取主模板的内容
  5. @section('content')
  6. <!--@parent--> //parent意为:子模板可以获取主模板里的内容
  7. 我是layout的替换内容123
  8. @endsection

以上这篇Laravel基础-关于引入公共文件的两种方式就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持w3xue。

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号