Zend / Loader无法打开流

时间:2013-12-28 18:22:36

标签: php zend-framework

我正在跟随凯文·麦克阿瑟(Kevin McArthur)出版的一本名为Pro PHP的书。版权是2008年所以它是一本相当古老的书。到目前为止,一切都按预期工作,除非我进入Learning ZendFramework部分。这是说Zend/Loader.php文件不存在,这在我的情况下是正确的。我正在使用版本2.2.5,而本书使用的是1.0.3。我检查了Zend目录,除了loader.php之外,还有一个包含多个文件的Loader目录。有没有办法可以让我的版本轻松地与书中的内容一起使用,还是比它的价值更麻烦?在书中,我被困在以下部分:

<?php
ini_set('display_errors', TRUE);
define('ZFW_VERSION', '2.2.5');
define('ZFW_PREFIX', '/usr/share/php5/ZendFramework');
define('APP_PATH', realpath(dirname(__FILE__). '/../'));

$paths = array(
    APP_PATH,
    APP_PATH . DIRECTORY_SEPARATOR . 'application' . DIRECTORY_SEPARATOR . 'models',
    ZFW_PREFIX. DIRECTORY_SEPARATOR . 'ZendFramework-' . ZFW_VERSION . DIRECTORY_SEPARATOR . 'library',
    get_include_path()
    );

set_include_path(implode(PATH_SEPARATOR, $paths));

require_once 'Zend/Loader.php';

Zend_Loader::registerAutoload();

$front = Zend_Controller_Front::getInstance();
$front->throwExceptions(TRUE);
$front->run(APP_PATH . '/application/controllers');

我可以修改此代码吗?

1 个答案:

答案 0 :(得分:1)

ZF1和ZF2不兼容,因此您无法将ZF2与为ZF1编写的教程一起使用。如果您想坚持使用本书,请下载最新版本的ZF1(目前为1.12.3)并使用它。您可能还需要稍微调整Zend Loader行:

require_once 'Zend/Loader/Autoloader.php';

Zend_Loader_Autoloader::getInstance();

由于在该书写完之后所做的一些改变。

或者你可以学习ZF2,这可能是未来的证据。