我知道__isset()是爲一個不存在的屬性。但是我想要一個存在的屬性爲null。 默認情況下,它可能是好的:PHP創建一個訪問的對象時,它的空(如__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();
只是因爲用戶,郵件聲明。但它現在反映了良好的結構!辛格爾頓可能已經很好,但我不想要它。當訪問的內容爲空時,是否有辦法觸發某些內容?
ok,但CheckCredentials()在訪問一個null屬性時不會觸發 –
我修改了我的帖子,看看是否可以接受.. – Nonym