调用类的错误
class Test {var $parameter;
var $security_code;
function __construct($parameter,$security_code){
$this->parameter=$parameter;
$this->security_code=$security_code;
}
function show()
{
echo $this->parameter;
echo '<br>'.$this->security_code;
}
}
控制器调用代码,如下:
function __construct()
{
parent::Controller();
$this->load->library('test',array('aa','123'));
echo $this->test->show();
}
结果产生如下错误:
A PHP Error was encountered
Severity: Warning
Message: Missing argument 2 for Test::__construct(), called in \Loader.php on line 927 and defined
Filename: libraries/test.php
Line Number: 8
A PHP Error was encountered
Severity: Notice
Message: Undefined variable: security_code
Filename: libraries/test.php
Line Number: 10
传的参数一个不少,出此问题不知道何原因? 类库的构造函数只能接收一个数组变量作为参数,你传了两个参数当然不行,好好看看手册吧。 ci代码都是传的数组参数,有没有办法,让构造函数接收多个参数,而不是一个数组? 办法就是:扩展 loader 类,自己重写 load->library() 1# sam
CI只接受一个数组作为参数,如果你传多个参数就直接在数组中传递,然后你的构造函数接受相应的key的元素就行。
可以这样改:
class Test {
var $parameter;
var $security_code;
function __construct($args){
$this->parameter=$args['parameter'];
$this->security_code=$args['security_code'];
}
function show()
{
echo $this->parameter;
echo '<br>'.$this->security_code;
}
}
控制器调用代码,如下:
function __construct()
{
parent::Controller();
$this->load->library('test',array('parameter'=>'aa','security_code'=>'123'));
echo $this->test->show();
}
页:
[1]