繁体   English   中英

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

[英]Passing a config file into a custom library codeigniter

所以我在阅读Codeigniter用户指南时, 他们说

您还可以传递存储在配置文件中的参数。 只需创建一个与类文件名相同名称的配置文件,并将其存储在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是否不应该简单地转储配置文件的内容? 我究竟做错了什么?

几件事可以使这项工作:

您的类名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

祝好运 :)

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

$this->ci = & get_instance();

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM