※この記事は読者によって投稿されたユーザー投稿のため、編集部の見解や意向と異なる場合があります。 また、編集部はこの内容について正確性を保証できません。
ヒューマンリソシア株式会社はコラム「トレイトについて その2」を公開しました。
早速ですが、前回の続きになります。
前回は「アクセッサ」をtraitで書いてみましたが。
次は「プロパティを直接操作する時の、typoな時をがっちりとガードできる」traitを書いてみましょう。
「vol.65 ‐ 『マジックメソッドを巡る旅 その14』」で書かせていただいた内容、の、trait版になります。
// エラー出力制御
ini_set('display_errors', 'on');
error_reporting(E_ALL);
// 汎用的なtrait
trait access_block_of_improper_variable { public function __set($name, $val) { throw new Exception("property[{$name}] not exist!"); }
}
//
class hoge { // use access_block_of_improper_variable;
//
public $data_;
}
//
try { $obj = new hoge(); $obj->date_ = 'hoge data'; var_dump($obj);
} catch (Exception $e) { echo $e->getMessage() , "\n";
}
この続きは以下をご覧くださいhttp://resocia.jp/column/4514/
