如何解决代码点火器和配置文件中的自定义库?
| 我在代码点火器中有一个看起来像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);
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。