トレイトについて その2

※この記事は読者によって投稿されたユーザー投稿のため、編集部の見解や意向と異なる場合があります。また、編集部はこの内容について正確性を保証できません。

ヒューマンリソシア株式会社はコラム「トレイトについて その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/

この記事が役に立ったらシェア!
メルマガの登録はこちら Web担当者に役立つ情報をサクッとゲット!

人気記事トップ10(過去7日間)

今日の用語

アップロード
手元のPCなどの機器から、ネットワークを介して、別のPCやファイルサーバー、ウェ ...→用語集へ

インフォメーション

RSSフィード


Web担を応援して支えてくださっている企業さま [各サービス/製品の紹介はこちらから]