__isset()は存在しないプロパティのためのものであると理解しています。しかし、私はそれがヌルである存在するプロパティ上で欲しいです。 デフォルトでは、それは良いことができますphpはnull(__isset()など)のときにアクセスしたオブジェクトを作成します
class myClass
{
public function __isset($name)
{
// create an object;
}
}
$a = new myClass();
$a->mails->get();
$a->users->login();
が、メール、ユーザーオブジェクトは、宣言にどこにもありません。だから、これは解決策かもしれないが、それは歪んだクラスになり、それはUMLダイアグラム上に悪い反映など真の解決策は次のようになります。
class myClass
{
public $users = null;
public $mails = null;
public function __isset($name)
{
// create an object BUT IT WONT TRIGGER!
}
}
$a = new myClass();
$a->mails->get(); // <- fail!
$a->users->login();
ユーザー、メールが宣言されているという理由だけで。しかし、今は良い構造を反映しています!シングルトンは既に良いかもしれないが、私はそれを望んでいない。アクセスしたものがnullのときにトリガーする方法はありますか?
okですが、nullのプロパティにアクセスするとCheckCredentials()がトリガーされません –
私の投稿が変更されました。 – Nonym