Я удалил каждый класс Zend Framework в папке "library/Zend", я использовал версию 1.7 и хотел обновить до 1.12. После удаления я загрузил классы Zend Framework 1.12 в "library/Zend".
Я сталкиваюсь с проблемой при загрузке классов. В "public/index.php" я использовал registerAutoload()
. Это было лишено меня, поэтому я изменил его на это:
require_once 'Zend/Loader/Autoloader.php';
$loader = Zend_Loader_Autoloader::getInstance();
Затем для каждого класса, который я использую в контроллере, я должен вручную добавить его следующим образом:
$loader->registerNamespace('Paths');
$loader->registerNamespace('Certificate');
$loader->registerNamespace('Zim_Properties');
$loader->registerNamespace('Zim_Controller_Dispatcher');
$loader->registerNamespace('Controller_Plugin_ActionSetup');
$loader->registerNamespace('Controller_Plugin_History');
$loader->registerNamespace('Zim_Model');
$loader->registerNamespace('Zim_Controller_Action');
$loader->registerNamespace('Controller_ProposalInvoice');
$loader->registerNamespace('Stats');
$loader->registerNamespace('Controller_ArticleService');
Если я удалю это registerNamespace, я получу Fatal error: Class 'Controller_ArticleService' not found in/home/juliaxd8/domains/jmediatechnology.eu/public_html/factuurtogo2/application/controllers/ArticleController.php on line 3
Из-за регистрации вручную я мог что-то забыть/сделать опечатку. Могу ли я выполнять классы автонагрузки?
У меня есть функция, подобная этой в файле Bootstrap.php в одном из моих проектов, который, я думаю, делает трюк:
protected function _initAutoload()
{
$modelLoader = new Zend_Application_Module_Autoloader(
array('namespace' => '',
'basePath' => APPLICATION_PATH . '/modules/default'));
return $modelLoader;
}