Zend framework Zend自动加载自定义目录?
我认为自动加载是构建在Zend中的,因此如果您试图实例化一个类,它将使用类名来尝试查找该类的文件所在的位置 我希望能够使用autoloader在应用程序的根目录中加载DTO目录。我想我可以为文件/Application/dtos/MyClass.php执行类似于这个Application\u DTO\u MyClass的操作Zend framework Zend自动加载自定义目录?,zend-framework,zend-autoloader,Zend Framework,Zend Autoloader,我认为自动加载是构建在Zend中的,因此如果您试图实例化一个类,它将使用类名来尝试查找该类的文件所在的位置 我希望能够使用autoloader在应用程序的根目录中加载DTO目录。我想我可以为文件/Application/dtos/MyClass.php执行类似于这个Application\u DTO\u MyClass的操作 我试过用谷歌搜索,但没有发现任何有用的东西。关于最佳方法的任何提示?根据您是想在应用程序/模型的子目录中创建模型,还是想在自己的“名称空间”中作为库的子目录创建模型,这里有
我试过用谷歌搜索,但没有发现任何有用的东西。关于最佳方法的任何提示?根据您是想在应用程序/模型的子目录中创建模型,还是想在自己的“名称空间”中作为库的子目录创建模型,这里有几个选项供您选择。我假设您正在使用 要在应用程序/模型的子目录中创建模型,请首先创建目录;在您的情况下,应用程序/型号/Dto将是我的建议 在该目录中创建Myclass.php,它将包含:-
class Application_Model_Dto_Myclass
{
public function __construct()
{
//class stuff
}
}
你可以这样举例说明:-
$myObject = new Application_Model_Dto_Myclass();
如果要在自己的“名称空间”中创建类作为库的子目录,请首先创建目录library/Dto,然后再次创建文件Myclass.php,如下所示:-
class Dto_Myclass
{
public function __construct()
{
//class stuff
}
}
您必须注册此“名称空间”;我建议在application.ini中添加以下行:
autoloadernamespaces[] = "Dto_"
您可以这样实例化这个类:-
$myObject = new Dto_Myclass();
我不知道为什么你不能通过谷歌找到这个,但你会在网上找到所有这些和更多。我还发现ZF代码是了解其工作原理的极好资源。根据您是想在应用程序/模型的子目录中创建模型,还是想在自己的“命名空间”中作为库的子目录创建模型,这里有几个选项供您选择。我假设您正在使用 要在应用程序/模型的子目录中创建模型,请首先创建目录;在您的情况下,应用程序/型号/Dto将是我的建议 在该目录中创建Myclass.php,它将包含:-
class Application_Model_Dto_Myclass
{
public function __construct()
{
//class stuff
}
}
你可以这样举例说明:-
$myObject = new Application_Model_Dto_Myclass();
如果要在自己的“名称空间”中创建类作为库的子目录,请首先创建目录library/Dto,然后再次创建文件Myclass.php,如下所示:-
class Dto_Myclass
{
public function __construct()
{
//class stuff
}
}
您必须注册此“名称空间”;我建议在application.ini中添加以下行:
autoloadernamespaces[] = "Dto_"
您可以这样实例化这个类:-
$myObject = new Dto_Myclass();
我不知道为什么你不能通过谷歌找到这个,但你会在网上找到所有这些和更多。我还发现ZF代码是了解其工作原理的极好资源。为什么要使用
newapplication\u Model\u Myclass()调用它代码>而不是新的应用程序\u Model\u Dto\u Myclass()代码>哪个是实际的类名?我知道你推荐的作品没有意义。如果在DTO目录中有一个结尾相同的类呢?奇怪的是,它可以处理输入错误,但如果没有它,它仍然说找不到该类。让它工作吧。你说的是对的,我的代码有点不正确。再次感谢!为什么要使用newapplication\u Model\u Myclass()来调用它代码>而不是新的应用程序\u Model\u Dto\u Myclass()代码>哪个是实际的类名?我知道你推荐的作品没有意义。如果在DTO目录中有一个结尾相同的类呢?奇怪的是,它可以处理输入错误,但如果没有它,它仍然说找不到该类。让它工作吧。你说的是对的,我的代码有点不正确。再次感谢!