2010-11-24 59 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; 
相关问题