【问题标题】:Zend/Loader failed to open streamZend/Loader 无法打开流
【发布时间】:2013-12-28 18:22:35
【问题描述】:

我正在阅读 Kevin McArthur 的一本名为 Pro PHP 的书,版权为 2008 年,所以这是一本相当古老的书。到目前为止,除了学习 ZendFramework 部分外,一切都按预期工作。据说Zend/Loader.php 文件不存在,这在我的情况下是正确的。我使用的是 2.2.5 版本,而本书使用的是 1.0.3。我检查了 Zend 目录,并且有一个 Loader 目录,其中包含除 loader.php 之外的多个文件。有没有一种方法可以让我的版本轻松地与书中的内容一起使用,还是它比它的价值更麻烦?在书中,我被困在以下部分:

<?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');

我可以修改这段代码吗?

【问题讨论】:

    标签: php zend-framework


    【解决方案1】:

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

    require_once 'Zend/Loader/Autoloader.php';
    
    Zend_Loader_Autoloader::getInstance();
    

    由于在那本书写完之后进行了一些更改。

    您也可以改为学习 ZF2,这可能会更适合未来。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-04-20
      • 1970-01-01
      • 2017-03-01
      • 2014-07-26
      • 2019-03-29
      • 2015-05-05
      • 2017-03-28
      • 2019-12-03
      相关资源
      最近更新 更多