解释器模式

概念

解释器模式 用于分析一个实体的关键元素,并且针对每个元素提供自己的解释或相应动作。

场景

PHP 模板引擎

代码
<?php  

class template
{
    private $left = '<!--{';
    private $right = '}-->';

    public function run($str)
    {
        return $this->init($str, $this->left, $this->right);
    }

    /**
     * 模板驱动-默认的驱动
     * @param string $str 模板文件数据
     *
     * @return string
     */
    private function init($str, $left, $right)
    {
        $pattern = ['/'.$left.'/', '/'.$right.'/'];
        $replacement = ['', ''];

        return preg_replace($pattern, $replacement, $str);
    }
}

$str = "这是一个模板类,简单的模板类,标题为:<!--{Hello World}-->";
$template = new template;
echo $template->run($str);
执行结果
这是一个模板类,简单的模板类,标题为:Hello World

出自https://learnku.com/docs/shxdledu/php-design-patterns-series-interpreter-patterns/9287

彼特城博客
请先登录后发表评论
  • latest comments
  • 总共0条评论