代码点火器和配置文件中的自定义库?

问题描述

| 我在代码点火器中有一个看起来像
class MyClass($options = array())
的库 文件是“ 1” 我有一个档案(
config/Myclass.PHP
)看起来像
$Myclass = array(
  \'something\' => \'value\',\'another\'   => \'value\'
);
初始化类时,我以为应该将
$Myclass
数组传递给我,但显然不是? 我需要做什么来修复它?     

解决方法

啊,我找到了答案, 配置文件中的数组必须称为“ 5”。 文件名也必须是库文件名的小写形式。 例如 图书馆档案:
Somelibrary.php
图书馆内容:
class Somelibrary($options = array()){...
CONF文件::8ѭ CONF内容:
$config = array(\'something\' => \'value\');
    ,这通常的工作方式是,您传入要覆盖的选项数组,或者不传入任何值以使用默认值。
var myObject = new MyClass(); // default settings

var myObject = new MyClass(array(\'something\' => \'value2\')); // override only \"something\"
老实说,如果没有充分的理由,我不会在config中创建您自己的文件;相反,只需将默认值放在类定义中,然后在构造函数中覆盖:
class MyClass {

    var $default_options = array(
        \'something\' => \'value\',\'another\' => \'value\',);
    var $options = array();

    function MyClass($override_options = array())
    {
        $this->options = array_merge($this->default_options,$override_options);

        // your code here...
    }
}
    ,快进到2013年,仍然有人对此有疑问。所以我的情况是相同的,但略有不同,所以我认为我会设法节省一些时间。 我是在扩展类后命名配置文件的,这是错误的。 Config文件应始终为form_validation.php,(这是因为最终将其交给CI_Form_validation类,这就是它所期望的) 感谢上面回答了这个问题的人们,我意识到我必须将配置传递给父类,并使用codeigniter v2.1.3进行了如下操作:
public function __construct( $config = array() )
{
  parent::__construct($config);
}