2010-11-24 37 views
0

對於我的模型類,我希望不必將其命名爲「Default_Model_Class1」,它們將簡單地命名爲「Class1」。如何在Zend Framework中擁有簡單的模型類名?

我找不到辦法做到這一點。 謝謝

+2

另一個問題是:你爲什麼要這樣做?有很好的理由,爲什麼沒有使用它。首先,您可能因類名衝突而陷入麻煩。然後,前綴也是某種名稱空間(PHP <5.3不支持本地名稱空間),如果將其刪除,則它會丟失。所以不是說「對象是一個'Class1'(不管這是什麼意思),而是一個模型,並且來自Default-Module」你只想說「該對象是'Class1'」? – KingCrunch 2010-11-24 18:21:33

回答

4

答案?通過作弊。

如果你在所有的車型,讓我們說,應用程序/模型,則可以將該路徑添加到您的包含路徑,並設置Zend的自動加載到回退時,它無法找到基於良好的命名規範(見KingCrunch的評論)

告訴磁帶自動加載機回退到:

$loader = Zend_Loader_Autoloader::getInstance(); 
$loader->setFallbackAutoloader(true); 
$loader->suppressNotFoundWarnings(false); 

然後,當你嘗試加載YourModel駐留在你的模型路徑,自動加載器應該能夠處理它,你可以建立一個使用簡單名稱的引用。

即使您的應用程序很小,使用這些最佳做法總是很好。

0

我不確定哪個版本的PHP添加了use關鍵字(可能是5.3增加了名稱空間),但是我已經將類名保留爲典型的長名稱,以解釋Zend Framework中缺少名稱空間和使用use在我的腳本中縮短它們。這也意味着,如果我需要移動或重新命名類,出於任何原因,我只需要更改每個文件的use語句。

use Application_Model_Users_User as Model_User; 
相關問題