解释器模式
用于分析一个实体的关键元素,并且针对每个元素提供自己的解释或相应动作。解释器模式非常常用,比如PHP的模板引擎 就是非常常见的一种解释器模。
代码设计
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
<?php
// 解释器模式 用于分析一个实体的关键元素,并且针对每个元素提供自己的解释或相应动作
// 解释器模式非常常用,比如PHP的模板引擎 就是非常常见的一种解释器模式
class template
{
private $left = "<!--{";
private $right = "}-->";
public function run($str)
{
return $this->init($str, $this->left, $this->right);
}
/**
* 模板驱动-默认的驱动
* @param string $str
* @param string $left
* @param string $right
* @return mixed
*/
private function init($str, $left, $right)
{
$pattern = array('/' . $left . '/', '/' . $right . '/');
$replacement = array('', '');
return preg_replace($pattern, $replacement, $str);
}
}
$str = "这是一个模板类,简单的模板类,标题为:<!--{Hello World}-->";
$template = new template;
echo $template->run($str);
|