And*_*rei 13 php arguments class-library codeigniter
我正在尝试实现一个我编写为CodeIgniter库的类.
不知怎的,我无法让CI的load()方法将多个参数传递给类的构造函数.
我的类被设计为获得3个参数,2个数组和一个可选字符串.
构造函数看起来有点像这样:
public function __construct($array, $array,$string=""){
/** code **/
}
Run Code Online (Sandbox Code Playgroud)
控制器的相关部分:
function index(){
$array1 = array('key1'=>'value','key2'=>'value');
$array2 = array('key1'=>'value','key2'=>'value');
$string = "value";
$params = array($array1,$array2,$string);
$this->load->library("MyClass",$params);
}
Run Code Online (Sandbox Code Playgroud)
加载控制器会生成此错误:
Message: Missing argument 2 for MyClass::__construct()
Run Code Online (Sandbox Code Playgroud)
这真让我感到困惑.似乎第一个参数被发送得很好,然后它在第二个参数上窒息.任何关于为什么会发生这种情况的线索将不胜感激.
spi*_*dEY 17
您需要修改类构造函数以处理传递的数据,如下所述:
https://www.codeigniter.com/user_guide/general/creating_libraries.html
public function __construct($params)
{
$array1 = $params[0];
$array2 = $params[1];
$string = $params[2];
// Rest of the code
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
15765 次 |
| 最近记录: |