0
在PHP中使用靜態類/方法時,我不確定如何執行以下操作。這段代碼不會運行,但應該讓你知道我想要做什麼。在PHP中,如何引用另一個類的靜態變量中的類
class Accounts { static public $emailer = Site_Emailer; static function add($id) { self::$emailer::send('New account created'); } }
然後在單元測試,我想測試,調用該方法將發送一封電子郵件:
function testAccountsAddEmails() { Accounts::$email = Mock_Emailer; Accounts::add(1); $this->assertTrue(count(Mock_Emailer::$sent) === 1); }
我遇到的問題是帳戶$emailer
不能只是保持靜態變量該類,我可以擁有一個類名字符串,然後使用call_user_func()
,但似乎有點混亂。
我希望澄清我遇到的問題,讓我知道是否需要更多筆記!
感謝
您的問題基本上是否正確:「如何將對象存儲在PHP中的靜態變量中?」 – Frog
爲什麼他們必須是靜態的?但我喜歡你嘗試單元測試。這就像確保一個破碎的引擎是可靠的 – MikeSW
@Frog不,我想引用一個類,而不是在對象 –