如何加载Zend框架在我现有的项目


How to load the Zend Framework in my existing project?

我正试图将Zend添加到现有项目中,为此我想我需要自动加载器。因此,我尝试在Loader文件夹中包含各种文件,并从它们运行register()方法;

require_once __DIR__ . '/../../code/external/zend/library/Zend/Loader/ModuleAutoloader.php';
'Zend'Loader'ModuleAutoloader::register();

让我:

PHP致命错误:未捕获的异常'LogicException'带有消息传递的数组没有指定一个现有的静态方法(第一个数组)成员不是一个有效的类名或对象)/home/kramer65/myproject/code/external/zend/library/Zend/Loader/ModuleAutoloader.php: 312

require_once __DIR__ . '/../../code/external/zend/library/Zend/Loader/StandardAutoloader.php';
'Zend'Loader'StandardAutoloader::register();

让我:

PHP致命错误:未捕获的异常'LogicException'带有消息传递的数组没有指定一个现有的静态方法(第一个数组)成员不是一个有效的类名或对象)/home/kramer65/myproject/code/external/zend/library/Zend/Loader/StandardAutoloader.php: 243

所以我检查了standardautolloader .php中的第243行,它是:

spl_autoload_register(array($this, 'autoload'));

我想我需要提供一些数组,但我不确定哪一个和如何?有人能给我一些更赞赏的指导如何加载Zend在我的项目?欢迎所有的建议!

[编辑]让我补充一下,我问的是Zend 2。

您正在静态调用register(),但它不是静态方法,这是导致错误的原因。我以前没有这样做过,但我认为您需要这样做:

require_once __DIR__ . '/../../code/external/zend/library/Zend/Loader/StandardAutoloader.php';
$loader = new Zend'Loader'StandardAutoloader(array('autoregister_zf' => true));
$loader->register();