博主信息
博文 9
粉丝 0
评论 0
访问量 6486
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
5月29作业(模板赋值与模板内容过滤与替换)
张凯的博客
原创
672人浏览过
<?php
namespace app\index\controller;
// use think\facade\View;
use think\Controller;
class Index extends Controller
{
    public function index()
    {

        return "<h1>hello world</h1>";
    }
    public function demo1(){
        $name = "petter 313";
        // return $name;

        // fetch('模版表达式')
        // 模版表达式:模块@控制器/操作方法
       // return View::display("我的名字叫".$name);
        // return View::fetch('index@index/demo1',['name'=>$name]);
        // return $this->view->fetch('index@index/demo1',['name'=>$name]);
        // 越过view属性调用fetch
        // return $this->fetch('index@index/demo1',['name'=>$name]);
        // 越过模版表达式
        $this->assign('name',$name);
        return $this->fetch();//参数1可以为空

        // 也可使用助手函数view,不依赖任何类
        // return view('demo1',['name'=>$name]);
    }

    // 模版赋值
    public function demo2(){
        // 1assign('模版变量','值')
        $name = 'zk';
        $this->view->assign('name',$name);
        // 2fetch('模版','赋值数组')赋值
        // 3对象赋值
        $this->view->money = '5000';
        return $this->view->fetch(); 
    }
    // 模版过滤
    public function demo3(){
        $this->view->name = 'zk';
        $this->view->money = '5000';
        $filter = function($content){
            return str_replace('zk','owlcity',$content);
        };
        return $this->filter($filter)->fetch();
    }
    // 模版布局
    public function demo4(){
        /**
         * 1:全局配置
         *     config/template
         * 2:模版标签进行配置
         *     -1:不依赖全局配置,在模版中直接用标签进行控制
         *     -2:{layout name="布局模版名"}
         *     -3:{关闭布局 __NOLAYOUT__}
         * 3:动态配置
         */
        // 开启布局
        // $this->view->engine->layout('layout','{__TEXT__}');  //layout 参数二可以自定义与模版内容常量相同
        // $this->view->engine->layout('layout');
        // 关闭布局
        // $this->view->engine->layout(false);

        // return $this->view->fetch();

        // 链式操作
        $this->view //调用视图对象
        ->engine  //开启模版引擎
        ->layout('layout') //开启模版布局
        ->fetch('index/demo4'); //渲染模版

    }

    // 模版继承
    public function demo5(){
       return $this->view->fetch();
    }
}

模版布局 view/base.html

{//基础模版只允许出现block标签}
{block name="header"}
    {include file="public/header"}
{/block}

{block name="main"}主体部分{/block}

{block name="course"}
    thinkphp
{/block}


{block name="footer"}
    {include file="public/footer"}
{/block}

自模版demo5.html

{extend name="base"}

{//将父模版中的main区块进行重写}
{block name="main"}
    <h1>将父模版中的main区块进行重写</h1>
{/block}
<!-- 在子模版中写在区块之外的内容全部忽略 -->
<p>额外额外额外</p>
{block name="course"}
 <h2>{__block__}1111</h2>
{/block}


批改状态:合格

老师批语:
本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
0条评论
作者最新博文
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号

  • 登录PHP中文网,和优秀的人一起学习!
    全站2000+教程免费学