トレイトについて その2
2016/1/17 9:04
※この記事は読者によって投稿されたユーザー投稿です:
- 編集部の見解や意向と異なる内容の場合があります
- 編集部は内容について正確性を保証できません
- 画像が表示されない場合、編集部では対応できません
- 内容の追加・修正も編集部では対応できません
ヒューマンリソシア株式会社はコラム「トレイトについて その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/
ソーシャルもやってます!