Php 是否在没有前缀/命名空间的情况下访问我的ZF模型(应用程序/模型)?

Php 是否在没有前缀/命名空间的情况下访问我的ZF模型(应用程序/模型)?,php,zend-framework,model,Php,Zend Framework,Model,我的Zend Framework设置如下所示: /application /modules /models /configs /library /public new User() // Would refer to /application/models/User.php 我希望访问我的模型而不需要前缀或名称空间,如下所示: /application /modules /models /configs /library /public ne

我的Zend Framework设置如下所示:

/application
    /modules
    /models
    /configs
/library
/public
new User() // Would refer to /application/models/User.php
我希望访问我的模型而不需要前缀或名称空间,如下所示:

/application
    /modules
    /models
    /configs
/library
/public
new User() // Would refer to /application/models/User.php
我知道这是一个相当简单的问题,但我还没有弄明白。我也看到了很多类似的问题,但没有一个是我的事情就是这一个,但请原谅我,如果我重复现有的问题

到目前为止,我已尝试将config.ini中的appnamespace更改为“”,但没有成功并添加了 以下是我的引导程序,但未成功: 受保护函数_initAutoload() {


谢谢!

您必须使用后备自动加载器

在引导文件(或任何您喜欢的地方)中,执行以下操作:

protected function _initAutoloader()
{
    Zend_Loader_Autoloader::getInstance()->setFallbackAutoloader(true);
}
这将允许您加载路径中的任意类,即使您已经在application.ini中注册了特定的自动加载前缀


为了澄清这一点,请确保在某个时候将应用程序路径“/models”推送到include\u路径中。

您必须使用回退自动加载程序

在引导文件(或任何您喜欢的地方)中,执行以下操作:

protected function _initAutoloader()
{
    Zend_Loader_Autoloader::getInstance()->setFallbackAutoloader(true);
}
这将允许您加载路径中的任意类,即使您已经在application.ini中注册了特定的自动加载前缀


为了澄清,请确保您正在推送应用程序路径。“/models”在某个时候将其包含到您的include_路径中。

谢谢!这解决了我的问题。我应该注意,Zend强烈建议不要使用回退自动加载功能,因为它可能会降低性能并导致错误,但在我的情况下,我认为启用它绝对不会导致性能下降或错误。我认为只要我严格遵守对于classname-to-filename模式,我应该没问题。是的,我在生产中的应用程序中使用这种方法已经很长时间了,没有任何问题。我这样做是为了我的模型和表单。谢谢!这解决了我的问题。我应该注意,Zend强烈建议不要使用回退自动加载功能,因为它可能会导致我会降低性能并导致错误,但在我的情况下,我发现启用它绝对不会导致性能下降或错误。我认为只要我严格遵循从类名到文件名的模式,我应该会很好。是的,我在生产中的应用程序中使用这种方法已经很长时间了,没有任何问题。我这样做是为了我的模型,而且我的表格。