Я использую стандартный автозагрузчик Zend. Он регистрирует одно пространство имен, но не регистрирует другое. Это мой код: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();
Я тогда основные установки, как это в каталоге дилеров/классов:
Model.php
<?php
namespace Dealers\Models;
class Model {
/**
* The table this model uses
*
* @var string
*/
protected $table;
}
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';
}
}
В моем приложении я включаю этот файл конфигурации ДО чего-то еще.
coop.php
<?php
require_once($_SERVER['SERVER_ROOT'].'/security/config.php');
use Dealers\Model\Coop;
echo CoopBalance::testing();
Я получаю сообщение об ошибке:
Fatal error: Class 'Dealers\Models\Model' not found in \www\dealers\classes\coop\Coop.php on line 7
который где эта линия в моей Coop Модель:
class Coop extends Model
Спасибо за любой Помогите!
Каков путь (а не только имя файла) к вашим файлам классов? –
Модель: дилеры/классы/Model.php Coop Модель: дилеры/классы/coop/Coop.php (есть другие, связанные с coop) – HaleyBuggs