我认为自动加载是构建到Zend中的,所以如果你试图实例化一个类,它会使用类名来尝试找到类文件所在的位置。
我希望能够使用自动加载器在我的应用程序的根目录中加载DTO目录。我以为我可以为文件/application/dtos/myClass.php这样的Application_DTO_MyClass做点什么
我尝试使用谷歌搜索,但没有发现任何有用的东西。有关最佳方法的任何提示吗?
答案 0 :(得分:1)
根据您是要在Application / Models的子目录中创建模型还是在您自己的'namespace'中创建模型作为库的子目录,这里有几个选项可供您使用。我假设您使用的是recommended directory structure for Zend Framework。
要在Application / Models的子目录中创建模型,首先要创建目录;在您的情况下,Application / Models / Dto将是我的推荐。
在该目录中创建包含以下内容的Myclass.php: -
class Application_Model_Dto_Myclass
{
public function __construct()
{
//class stuff
}
}
你将实例化它: -
$myObject = new Application_Model_Dto_Myclass();
如果你想在你自己的'命名空间'中创建你的类作为库的子目录,那么首先创建目录库/ Dto,再次创建文件Myclass.php,如下所示: -
class Dto_Myclass
{
public function __construct()
{
//class stuff
}
}
你必须注册这个'命名空间';我建议您在application.ini中添加以下行:
autoloadernamespaces[] = "Dto_"
您将实例化此类: -
$myObject = new Dto_Myclass();
我不确定为什么你不能通过谷歌找到这个,但你会在Zend Framework Programmers' Reference Guide找到所有这些以及更多内容。我还发现ZF代码是一个很好的资源,可以解决它是如何工作的。