[英]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.