无为清净楼资源网 Design By www.qnjia.com
本文实例讲述了PHP实现简单的模板引擎功能。分享给大家供大家参考,具体如下:
php web开发中广泛采取mvc的设计模式,controller传递给view层的数据,必须通过模板引擎才能解析出来。实现一个简单的仅仅包含if,foreach标签,解析$foo变量的模板引擎。
编写template模板类和compiler编译类。代码如下:
<"htmlcode"><"<", '<"<", '<"htmlcode">/** * [render 渲染模板文件] * @param [type] $file [待编译的文件] * @param [type] $values [键值对] * @param array $templateConfig [编译配置] * @return [type] [description] */ protected function render($file, $values, $templateConfig = []) { $di = Container::getInstance(); //依赖注入实例化对象 $di->template = function () use ($di, $templateConfig) { $di->compiler = 'foo\base\Compiler'; $compiler = $di->compiler; return new \foo\base\Template($compiler, $templateConfig); }; $di->template->assign($values)->show($file); }Container类如下:
<"htmlcode">public function offsetExists($offset) { return array_key_exists($offset, get_object_vars($this)); } public function offsetUnset($key) { if (array_key_exists($key, get_object_vars($this)) ) { unset($this->{$key}); } } public function offsetSet($offset, $value) { $this->{$offset} = $value; } public function offsetGet($var) { return $this->$var; }在某一控制器中就可以调用父类Controller的render方法啦
复制代码 代码如下:$this->render('test\index', ['name' => 'tom', 'age' => 20, 'friends' => ['jack', 'rose']], ['cacheTime' => 10]);编写视图模板文件'test\index':
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> </head> <body> <p>展示模板文件视图</p> <p>{$name}</p> <p>{$age}</p> <"_blank" href="//www.jb51.net/Special/350.htm">PHP模板技术总结》、《PHP基于pdo操作数据库技巧总结》、《PHP运算与运算符用法总结》、《PHP网络编程技巧总结》、《PHP基本语法入门教程》、《php面向对象程序设计入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》希望本文所述对大家PHP程序设计有所帮助。
标签:PHP,模板引擎
无为清净楼资源网 Design By www.qnjia.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
无为清净楼资源网 Design By www.qnjia.com
暂无评论...
更新日志
2024年11月18日
2024年11月18日
- 【雨果唱片】中国管弦乐《鹿回头》WAV
- APM亚流新世代《一起冒险》[FLAC/分轨][106.77MB]
- 崔健《飞狗》律冻文化[WAV+CUE][1.1G]
- 罗志祥《舞状元 (Explicit)》[320K/MP3][66.77MB]
- 尤雅.1997-幽雅精粹2CD【南方】【WAV+CUE】
- 张惠妹.2007-STAR(引进版)【EMI百代】【WAV+CUE】
- 群星.2008-LOVE情歌集VOL.8【正东】【WAV+CUE】
- 罗志祥《舞状元 (Explicit)》[FLAC/分轨][360.76MB]
- Tank《我不伟大,至少我能改变我。》[320K/MP3][160.41MB]
- Tank《我不伟大,至少我能改变我。》[FLAC/分轨][236.89MB]
- CD圣经推荐-夏韶声《谙2》SACD-ISO
- 钟镇涛-《百分百钟镇涛》首批限量版SACD-ISO
- 群星《继续微笑致敬许冠杰》[低速原抓WAV+CUE]
- 潘秀琼.2003-国语难忘金曲珍藏集【皇星全音】【WAV+CUE】
- 林东松.1997-2039玫瑰事件【宝丽金】【WAV+CUE】