模板组件
编辑本页警告:您正在浏览的文档欧宝体育电话欧宝娱乐app下载地址Symfony 2.0,现已不再维护。
读本页的更新版本用于Sy欧宝娱乐app下载地址mfony 6.2(当前稳定版本)。
模板组件
模板提供了构建任何类型的模板系统所需的所有工具。
它提供了一个基础架构来加载模板文件,并可选地监视它们的更改。它还使用PHP提供了一个具体的模板引擎实现,并提供了用于转义和将模板分离为块和布局的附加工具。
安装
你可以用很多不同的方式安装组件:
- 使用官方Git存储库(https://github.com/欧宝娱乐app下载地址symfony/Templating);
- 通过Composer安装(
欧宝娱乐app下载地址symfony /模板
在Packagist).
使用
的PhpEngine类是组件的入口点。它需要一个模板名称解析器(TemplateNameParserInterface)将模板名称转换为模板引用和模板加载器(LoaderInterface)来查找与引用相关的模板:
1 2 3 4 5 6 7 8 9
使用欧宝娱乐app下载地址\组件\模板\PhpEngine;使用欧宝娱乐app下载地址\组件\模板\TemplateNameParser;使用欧宝娱乐app下载地址\组件\模板\加载程序\FilesystemLoader;$加载程序=新FilesystemLoader (__DIR__.' /视图/ %名称% ');$视图=新PhpEngine (新TemplateNameParser (),$加载程序);回声$视图->呈现(“hello.php”,数组(“firstname”= >“法”));
的呈现()方法执行文件“views/hello.php”并返回输出文本。
1 2
<!——views/hello.php——>你好,<?php回声$firstname? >!
带槽的模板继承
模板继承设计用于与许多模板共享布局。
1 2 3 4 5 6 7 8 9
<!——views/layout.php——><超文本标记语言><头><标题><?php$视图[“槽”]->输出(“标题”,“默认标题”)? >标题>头><身体><?php$视图[“槽”]->输出(“_content”)? >身体>超文本标记语言>
的扩展()方法在子模板中调用以设置其父模板。
1 2 3 4 5 6 7 8 9 10 11
<!——views/page.php——><?php$视图->延长(“layout.php”)? ><?php$视图[“槽”]->集(“标题”,$页面->标题)? ><h1><?php回声$页面->标题? >h1><p><?php回声$页面->身体? >p>
要使用模板继承,可以使用SlotsHelper佣工必须注册:
1 2 3 4 5 6 7 8
使用欧宝娱乐app下载地址\组件\模板\助手\SlotsHelper;$视图->集(新SlotsHelper ());//获取页面对象$页面=……;回声$视图->呈现(“page.php”,数组(“页面”= >$页面));
请注意
多级继承是可能的:一个布局可以扩展另一个布局。
输出逃离
该文档仍在欧宝体育电话编写中。
资产助手
该文档仍在欧宝体育电话编写中。
此工作,包括代码示例,是根据创作共用BY-SA 3.0许可证。