博客列表 >模板的重要内容--2018年5月29日

模板的重要内容--2018年5月29日

笨鸟先飞
笨鸟先飞原创
2018年05月31日 19:57:10721浏览

模板赋值与模板内容过滤与替换技术:

实例

 //模板赋值
    public function demo2()
    {
    	//1.assign('模板变量',值)====(在view/index/demo2.html里面的$name,值就是当前类中的属性值)
    	$name = '好好学习,天天向上';
    	$this->view->assign('my_name',$name);

    	//2.传参赋值:fetch('模板',[参数数组])====在27行
    	//3.对象赋值
    	$this->view->age = 25;
        return $this->view->fetch();//默认的 index@index/demo2
    }


    //模板过滤与替换
    public function demo3()
    {
    	//tp51之前,直接删除了替换功能,采用config/template.php进行配置
    	
    	//将模板中的‘好好学习,天天向上’ 替换成 ‘加油!!!’
    	$this->view->name = '好好学习,天天向上';//通过对象赋值
    	$this->view->age = 20;

        // $filter = function($content){
        // 	return str_replace('好好学习,天天向上','加油!!!',$content);

        // };

    	// echo $this->view->filter($filter)->fetch();   //过滤相当于删除,在第二个参数不赋值就行了
    	echo $this->view->filter(function($content){
        	return str_replace('好好学习,天天向上','加油!!!',$content);

        })->fetch();
    }

运行实例 »

点击 "运行实例" 按钮查看在线实例



 模板动态布局与模板继承技术:

实例

 //模板布局
    public function demo4()
    {
    	/**
    	 * 一、全局配置   相当于给所有的模板都默认的添加了头和底部
    	 * 1.config/template.php
    	 *
    	 *
    	 * 二、模板标签进行配置   选择性的添加头和底
    	 * 1.不依赖于全局配置,在模板中直接用标签进行控制
    	 * 2.{layout name="布局模板名"}
    	 * 3.关闭布局:{__NOLAYOUT__}
    	 *
    	 *
    	 * 三、动态配置
    	 * 1.不需要在模板配置文件中进行任何配置、
    	 * 不需要在当前模板中添加任何标签
    	 */
    	
    	//开启布局
    	// $this->view->engine->layout(true);
    	// $this->view->engine->layout('layout','{__HAPPY1__}');//第一个参数是 布局模板名  第二个参数是 布局模板里的空位

    	//关闭布局
    	// $this->view->engine->layout(false);
    	 
    	// 开启布局的链式操作
    	
    	return $this->view    //调用视图对象
    	            ->engine   //模板引擎对象
    	            ->layout(true)   //开启模板布局
    	            ->fetch('index\demo4');  //渲染模板,至少要给到控制器级别
    }


    //模板继承
    public function demo5()
    {
    	/**
    	 * 1.view/base.html:基础模板,供其他子模板进行继承
    	 */
    	
    	return $this->view->fetch();
    }
 
}

运行实例 »

点击 "运行实例" 按钮查看在线实例

demo5:

实例

{extend name="base" /}

{//将父模板中的main区块进行重写}
{block name="main"}
    <h3 style="text-align: center;">我是子模板的网站的主体部分</h3>
{/block}



{block name="age"}
    {__block__}今年我已经满了25岁啦!!!
{/block}

{//删除基模板中的值,也就是在子模板中不赋值为空,要对应区块}
{block name="name"}{/block}

{//在子模板中凡是写在了block之外的内容全部忽略,基模板中没有这个区块,在子模板中写上也没用}
<a href="">我是子模板中的。。。</a>

运行实例 »

点击 "运行实例" 按钮查看在线实例


声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议