php布局方式,布局模板三种方式

"本文介绍了PHP中实现模板布局的三种方式:全局配置模式、模板标签方式和内置layout方法。全局配置模式适用于全站统一布局,通过config开启并设置布局文件;模板标签方式则在模板文件中直接添加{layoutname="..."}
摘要由CSDN通过智能技术生成

摘要:第一种:全局配置模式适用于全站使用相同布局的情况,需要在config中配置开启layout_on参数,默认是不开启的,还有设置入口文件名,默认是layout;<?phpreturn [    //调试模式    'APP_DEBUG' => true,    //模板的布局    '

第一种:全局配置模式

适用于全站使用相同布局的情况,需要在config中配置开启layout_on参数,默认是不开启的,还有设置入口文件名,默认是layout;

return [

//调试模式

'APP_DEBUG' => true,

//模板的布局

'template'  => [

'layout_on'     =>  true,

'layout_name'   =>  'layout'

]

];

layout_on开启之后,从控制器fetch(‘index’)渲染后,本来不会直接渲染index.html文件,而是会到自定义的layout.html文件中去渲染,在其中会出现一个{_CONTENT_},这个就代表了要渲染的index模板文件,是将index的内容替换了{_CONTENT_}内容;

{include file='header' /}

{__CONTENT__}

{include file='footer' /}

这样,我就可以实现头尾分离,直接在index.html文件中写内容了;

如果某些页面不需要使用布局模板功能,可以在模板文件开头加上 {__NOLAYOUT__} 字符串;

第二种:模板标签方式

这种方式要关闭layout_on,负责会出现布局循环;

直接添加

{layout name="layout" /}

一个模板文件中只能使用一个布局模板,如果模板文件中没有使用任何layout标签则表示当前模板不使用任何布局;

如果需要其他的布局模板,只要改变name值即可,也可以指定要替换的特定字符串:

{layout name="Layout/newlayout" replace="[__REPLACE__]" /}

第三种:使用内置的layout方法控制模板布局

这种方式适用于局部需要布局或者关闭布局的情况,也不需要开启layout_on方法;

public function index(){

$this->view->engine->layout(true);

return $this->fetch();

}

上面这种采用的是默认的布局模板,也就是name名为layout的html,替换的字符也是磨人的{_CONTENT_};

如果要使用自定义的,只要在layout()函数中传值即可;

$this->view->engine->layout('newLayout');

如果已经开启了全局,要关闭页面的布局模板,也可以使用这个方法关闭它:

$this->view->engine->layout(false);

批改老师:天蓬老师批改时间:2019-04-08 10:12:08

老师总结:布局其实是在模板继承的更加层级的抽象, 大多情况下, 模板继承基本上已经满足要求了, 也更灵活

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值