Zend framework zend无法识别已注册的命名空间

Zend framework zend无法识别已注册的命名空间,zend-framework,zend-autoloader,Zend Framework,Zend Autoloader,我用的是Zend标准自动加载器。它正在注册一个名称空间,但不会注册另一个名称空间。这是我的代码: $zflib = $_SERVER['SERVER_ROOT'].'/classes/Zend_Framework_2/2.3.2/library'; require_once($zflib.'/Zend/Loader/StandardAutoloader.php'); $loader = new Zend\Loader\StandardAutoloader(array('autoregister_

我用的是Zend标准自动加载器。它正在注册一个名称空间,但不会注册另一个名称空间。这是我的代码:

$zflib = $_SERVER['SERVER_ROOT'].'/classes/Zend_Framework_2/2.3.2/library';
require_once($zflib.'/Zend/Loader/StandardAutoloader.php');
$loader = new Zend\Loader\StandardAutoloader(array('autoregister_zf' => true));
// Library
$loader->registerNamespace('VProd',$_SERVER['SERVER_ROOT'].'/classes/VProd');
// Dealer Library
$loader->registerNamespace('Dealers', $_SERVER['SERVER_ROOT'].'/dealers/classes');
$loader->setFallbackAutoloader(true);
$loader->register();
然后,我在dealers/classes目录中进行了如下基本设置:

Model.php

<?php

namespace Dealers\Models;

class Model {
    /**
     * The table this model uses
     *
     * @var string
     */
    protected $table;
}

谢谢你的帮助

ZF2标准自动加载器是一种自动加载器。因此,您的类应该位于deralers/classes/deralers/Models/Model.php和deralers/classes/deralers/Models/Coop/Coop.php,区分大小写才能正确自动加载命名空间的每个“部分”都应该是一个文件夹


此外,如果可能的话,我建议使用Composer安装ZF2或您正在使用的任何组件。那么你就不需要自己配置自动加载器了。

除了类文件的文件名,你的类文件的路径是什么?Model:derals/classes/Model.php Coop Model:derals/classes/Coop/Coop.php还有其他与Coop相关的文件。这个系统已经实现了,所以我不能做太多编辑,因为他们的许多内部网站都依赖于我非常喜欢它。但是谢谢你的解释!
<?php

namespace Dealers\Models\Coop;

use Dealers\Models\Model;

class Coop extends Model {
    /**
     * The table this model uses
     *
     * @var string
     */
    protected $table = 'coop';

    public static function testing()
    {
        return 'testing';
    }
}
<?php
require_once($_SERVER['SERVER_ROOT'].'/security/config.php');

use Dealers\Model\Coop;
echo CoopBalance::testing();
class Coop extends Model