「ThinkPHP5开发连载74」tp5连载模板内置标签之标签嵌套+原生PHP
标签嵌套
模板引擎支持标签的多层嵌套功能,可以对标签库的标签指定可以嵌套。
系统
上一篇文章讲解“模型-内置标签之资源文件加载”,本篇文章讲解“模板-内置标签之标签嵌套+原生PHP”。 标签嵌套 模板引擎支持标签的多层嵌套功能,可以对标签库的标签指定可以嵌套。 系统内置的标签中,volist、switch、if、elseif、else、foreach、compare(包括所有的比较标签)、(not)present、(not)empty、(not)defined等标签都可以嵌套使用。 以volist标签为例: ①在Index控制器中,新建tagnest方法,并为模板赋值数组 ②新建nest.html模板,并在模板中输出 预览: 原生PHP PHP代码可以和标签在模板文件中混合使用,可以在模板文件里面书写任意的PHP语句代码,包括下面两种方式: 1. 使用PHP标签 ①在Index控制器中,新建protophp方法 ②新建protogene.html模板,并在其中使用原生PHP输出数据 预览: 注意: 1. 建议需要使用PHP代码的时候尽量采用php标签,因为原生的PHP语法可能会被配置禁用而导致解析错误。 2. 使用原生PHP代码 在protogene.html模板中php模板,使用原生PHP代码: 访问protophp方法,预览: 注意: 1. 如果设置了tpl_deny_php参数为true,就不能在模板中使用原生的PHP代码,但是仍然支持PHP标签输出。 2. php标签或者php代码里面就不能再使用标签(包括普通标签和XML标签)了,因此下面的几种方式都是无效的。 【例2】php标签与php代码使用无效的居中方式。 1)php标签中使用模板标签,无效 2)PHP标签里面使用了{$user}普通标签输出变量,无效 3)PHP标签里面使用了$user.name点语法变量输出,无效 注意: 1. 简而言之,在PHP标签里面不能再使用PHP本身不支持的代码。 ?ThinkPHP5连载为卓象程序员原创,转载请联系卓象程序员 关注卓象程序员,定期发布技术文章 (编辑:成都站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |