ホームページ >php教程 >php手册 >PHP デザインパターン インタプリタ (インタプリタモード)

PHP デザインパターン インタプリタ (インタプリタモード)

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBオリジナル
2016-06-21 08:54:161094ブラウズ

复制代码代码如下:


/**
* インタプリタの例
*
* @create_date: 2010-01-04
*/
クラス式
{
関数インタープリタ($str)
{
return $str;
}
}
class ExpressionNum extends Expression
{
関数インタープリター($str)
{
switch($str)
{
case "0 ": "ゼロ" を返します。
ケース "1": "一" を返します。
ケース "2": "二" を返します。
ケース "3": "三" を返します。
ケース "4": "四" を返します。
ケース "5": "五" を返します。
ケース "6": "六" を返します。
case "7": return "七";
case "8": "8" を返します。
ケース "9": "九" を返します。
}
}
}
class ExpressionCharter extends Expression
{
function interpreter($str)
{
return strtoupper($str);
}
}
クラス インタプリタ
{
functionexecute($string)
{
$expression = null;
for($i = 0;$i$temp = $string[$i];
switch(true)
{
case is_numeric($temp): $expression = new ExpressionNum();壊す;
デフォルト: $expression = new ExpressionCharater();
}
echo $expression->interpreter($temp);
}
}
}
$obj = new Interpreter();
$obj->execute("12345abc");
?>



声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。