Home > php教程 > PHP源码 > body text

先识别标签后计算的模板思路

PHP中文网
Release: 2016-05-25 17:13:23
Original
1004 people have browsed it

传统模板引擎的思路是:计算模板变量->设置模板变量(assign)->整合模板并显示页面。
现在想要实现这样的效果:识别模板变量->计算模板变量->整合并显示页面。
这里提供一种思路,利用PHP的魔术方法 __call 来实现。

<?php
//模板变量处理对象:
class template
{
public function main($op)
{
return $this;
}

public function __call($name,$args)
{
$method_name = &#39;get_&#39;.$name;

if (!method_exists($this, $method_name))
{
cwarning(&#39;找不到模板变量:&#39;,$name);
}

if (!empty($args))
{
$r = $this->$method_name($args[0]);
}
else
{
$r = $this->$method_name();
}

return $r;
}

/**
 * hello world
 * @return string
*/
public function get_test($op)
{
return &#39;hello world!&#39;;
}
}
Copy after login
<html>
<body>
<?php
//获得模板变量对象
$o = new template();
$tpl = $o->main();

//声明页面标签
$test = $tpl->test();
?>

<div><?php echo $test; ?></div>
</body>
</html>
Copy after login
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Recommendations
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!