我正在查看用於創建模型類的Doctrine 2和Symfony文檔。有幾個代碼片段,其中在類中使用getProperty和setProperty,並且這些值在某個值直接分配給財產。這與典型的get/set魔術方法不同,我遇到的示例代碼沒有實現任何自定義魔術方法,所以我認爲這是由Doctrine某處處理的。自動獲取/設置函數
從我讀過的內容來看,Doctrine實現了訪問器和增變器。也許我在下載梨時錯過了一個包,或者我沒有在腳本中包含某些東西。
例如:
class User {
public $name;
public function getName()
{
// Do stuff
}
}
$user = new User();
$foo = $user->name; // getName is called
注:我在尋找一個特定的原則解決。我知道這可以通過PHP完成,但我想使用Doctrine的本地函數。
編輯:更新以澄清這是如何不同於典型的獲取/設置魔術方法,並注意。
我會嘗試用Doctrine_Record擴展我的類,看看這是否會做到這一點。 – Shroder
顯然Doctrine 2是從1.x重新設計的,get/set需要手動設置。示例和文檔參考幫助我確認這一點,謝謝! – Shroder
這個代碼可以在Doctrine 2中工作嗎?我真的不想手動編寫所有的getter和setter –