相关疑难解决方法(0)

通过将参数传递给codeigniter中的构造函数来加载库

我正在使用codeigniter.我在代码点火器中定义了一个库,并期望在其构造函数中有一个参数.这是我的库代码 -

################# [My Library Code Test_lib.php ] ########################
<?php
class Test_lib
{
var $params;
public function __construct($params)
{
    $this->params = $params;
    echo $this->params;
}
}
Run Code Online (Sandbox Code Playgroud)

在codeigniter文档中,提到您可以在第二个参数中传递参数.所以,我正在从控制器初始化它,如下所示 -

<?php
class Test_cont extends CI_Controller {
function __construct()
{
    parent::__construct();
}

function test()
{
    $params = "abc";
    $this->load->library("test_lib",$params);
}
}   
Run Code Online (Sandbox Code Playgroud)

我收到以下错误 -

遇到PHP错误严重性:警告消息:缺少参数.....

请协助.

php codeigniter

15
推荐指数
3
解决办法
3万
查看次数

加载自定义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)

这真让我感到困惑.似乎第一个参数被发送得很好,然后它在第二个参数上窒息.任何关于为什么会发生这种情况的线索将不胜感激.

php arguments class-library codeigniter

13
推荐指数
1
解决办法
2万
查看次数

标签 统计

codeigniter ×2

php ×2

arguments ×1

class-library ×1