CodeIgniter为什么不自动加载我的包?

时间:2013-11-11 23:20:39

标签: php codeigniter package autoload autoloader

在我的application/config/config.php中,我想自动加载我的图书馆资料包:

/*
| -------------------------------------------------------------------
|  Auto-load Packges
| -------------------------------------------------------------------
| Prototype:
|
|  $autoload['packages'] = array(APPPATH.'third_party', '/usr/local/shared');
|
*/

$autoload['packages'] = array('../../lib');

相对路径不起作用,因此我获得了index.php的当前目录并尝试了:

$autoload['packages'] = array(getcwd() . '/../../lib');

最后,我只是把绝对路径放在那里:

$autoload['packages'] = array('/Users/.../lib');

这些都没有奏效。我错过了什么吗?因为the documentation非常稀疏。

2 个答案:

答案 0 :(得分:1)

前一段时间我遇到过类似的问题。我必须创建一个库来加载驱动程序。我修复了以下内容。

/application/config.php

$autoload['libraries'] = array('callcache');
//callcache is loaded from application/libraries/Callcache.php

/application/libraries/Callcache.php

<?php
class Callcache  {
    public function __construct($config = array())
    {
        $ci = &get_instance();
        $ci->load->driver('cache', array('adapter' => 'apc', 'backup' => 'file'));
    }
}

希望这可以帮助你,即使你正在尝试加载包而不是驱动程序(通过库)。我不记得我在哪里找到了这个信息并且仍然自己学习CI。

答案 1 :(得分:0)

要解决此问题,我在require_once的{​​{1}}语句之前添加了修改后的自动加载器:

index.php

可以找到原始自动加载器here

老实说,无论我尝试使用CodeIgnitier,加载第三方软件包或驱动程序都行不通。