require_once('TextDecorator.class.php');
class DoubleByteText extends TextDecorator
{
public function __construct(Text $target)
{
parent::__construct($target);
}
/**
* テキストを全角文字に変換して返します
* 半角英字、数字、スペース、カタカナを全角に、
* 濁点付きの文字を一文字に変換します
*/
public function getText()
{
$str = parent::getText();
$str = mb_convert_kana($str,"RANSKV");
return $str;
}
}
さらに機能追加。
機能追加の単位がクラスに閉
じるので仕様追加の範囲が絞
ることができる。
1クラス、1責務。
シンプルでわかりやすい。
Decoratorパターン