2010-04-17 109 views
0

在一些教程,他們告訴你要建立這樣一個屬性:在Doctrine中設置屬性的正確方法?

$manager = Doctrine_Manager::getInstance(); 
Doctrine_Manager::getInstance()->setAttribute(
    Doctrine::ATTR_AUTO_ACCESSOR_OVERRIDE, true); 

,並在文件中就說明你:

$manager = Doctrine_Manager::getInstance(); 
$manager->setAttribute(
    Doctrine::ATTR_AUTO_ACCESSOR_OVERRIDE, true); 

我不知道應該用哪一個呢?不是後者嗎?導致如何在第一個單元類中設置屬性?是不是第二個更正確?

回答

1

你甚至可以理解你正在看的代碼嗎?

第一個代碼是「錯誤的」。首先分配Doctrine_Manager對象$managger,然後不使用這個變量。

如果你想在Doctrine_Manager上做更多的事情,那麼很自然地將這個引用賦值給不會讓你的代碼搞亂的東西。如果你想要做的只有一件事沒有必要使用額外的變量,換句話說:

Doctrine_Manger::getInstance()->setAttribte(...); 

$manager = Doctrine_Manger::getInstance(); 
$manager->setAttribute(...); 
$manager->setAttribute(...); 
$manager->doSth(); 
$manager->blahblahblah();