将配置文件传递到自定义库codeigniter

时间:2014-04-04 20:41:08

标签: php codeigniter

所以我正在阅读Codeigniter用户指南和they say that

  

您还可以传递存储在配置文件中的参数。只需创建一个与类文件名相同的配置文件,并将其存储在application / config /文件夹中。请注意,如果您按上述方式动态传递参数,则配置文件选项将不可用。

我的配置文件设置与我的库名相同,我想知道如何访问该文件的内容。在加载lib之前是否需要加载配置?所有变量都需要是数组的元素吗?

的示例:

- 配置文件 -

<?php  if ( ! defined('BASEPATH')) exit('No direct script access allowed');
$var1 = "Variable 1";
$var2['name'] = "foo";
$var2['title']= "bar";
$var2['content'] = "Lorem ipsm dolar sit imut";

- 图书馆档案 -

class Library 
{
    var $data;
    function __construct($data)
    {
            $this->data = $data;
    }
}

- 然后是 -

function __construct() {
    parent::__construct();
    $this->load->library("library");
}
function index()
{
    var_dump($this->library->data);
}

(是的,我想保留名称库,但这只是一个例子)

var_dump不应该简单地转储配置文件的内容吗?我做错了什么?

2 个答案:

答案 0 :(得分:2)

使这项工作很少:

您的类名称FILE应以大写字母开头,您的配置数组必须定义为$config = array()(而不是$var或任何其他名称),您的配置文件必须小写。

配置文件通过构造函数传递,因此class($config=array()),您可以在实例变量上访问和存储配置变量。

希望它有所帮助:

class Foo // Foo.php
{
    function __construct($config=array())
    {
        $this->config = $config;
    }

} //end of class

配置文件:

$config['url'] = 'stuff'; // config file : foo.php
祝你好运:)

答案 1 :(得分:0)

要访问自定义库中配置文件的变量,您可以初始化新的CI实例并访问配置内容,如下所示:

$this->ci = & get_instance();

$configs = $this->ci->config;

现在执行var_dump($configs)查看配置文件的内容。