美文网首页
解释器模式

解释器模式

作者: 散装咖啡 | 来源:发表于2017-05-29 12:56 被阅读2次
    /**
      interpreter模式
    */
    class Expression
    {
        function interpreter($str)
        {
            return$str;
        }
    }
    
    class ExpressionNum extends Expression
    {
        function interpreter($str)
        {
            switch ($str) {
                case"0":return"零";
                case"1":return"一";
                case"2":return"二";
                case"3":return"三";
                case"4":return"四";
                case"5":return"五";
                case"6":return"六";
                case"7":return"七";
                case"8":return"八";
                case"9":return"九";
            }
        }
    }
    
    class ExpressionCharater extends Expression
    {
        function interpreter($str)
        {
            return strtoupper($str);
        }
    }
    
    class Interpreter
    {
        function execute($string)
        {
            $expression = null;
            for ($i= 0;$i<strlen($string);$i++) {
                $temp = $string[$i];
                $expression = is_numeric($temp) ? new ExpressionNum() : new ExpressionCharater();
                echo$expression->interpreter($temp);
            }
        }
    }
    
    $obj=new Interpreter();
    $obj->execute("12345abc");
    

    参考文章 https://wenku.baidu.com/view/b4c78b4702768e9951e738fb.html

    相关文章

      网友评论

          本文标题:解释器模式

          本文链接:https://www.haomeiwen.com/subject/ajbkfxtx.html