Zend AutoLoad自定义目录?

时间:2012-03-16 21:36:17

标签: zend-framework zend-autoloader

我认为自动加载是构建到Zend中的,所以如果你试图实例化一个类,它会使用类名来尝试找到类文件所在的位置。

我希望能够使用自动加载器在我的应用程序的根目录中加载DTO目录。我以为我可以为文件/application/dtos/myClass.php这样的Application_DTO_MyClass做点什么

我尝试使用谷歌搜索,但没有发现任何有用的东西。有关最佳方法的任何提示吗?

1 个答案:

答案 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代码是一个很好的资源,可以解决它是如何工作的。