通过将参数传递给codeigniter中的构造函数来加载库 [英] Load library by passing parameter to constructor in codeigniter
问题描述
我使用codeigniter。我在代码点火器中定义了一个库,并且期望在其构造函数中有一个参数。这是我的库代码 -
I am using codeigniter. I defined a library in code-igniter and is expecting a parameter in its constructor.This is my library code -
################# [My Library Code Test_lib.php ] ########################
<?php
class Test_lib
{
var $params;
public function __construct($params)
{
$this->params = $params;
echo $this->params;
}
}
在codeigniter文档中,第二个参数中的参数。
所以,我从控制器初始化它如下 -
In codeigniter documentation, it is mentioned that you can pass the parameter in the second argument. So,I am initializing it from controller as below -
<?php
class Test_cont extends CI_Controller {
function __construct()
{
parent::__construct();
}
function test()
{
$params = "abc";
$this->load->library("test_lib",$params);
}
}
我收到以下错误 -
I am getting following error -
遇到PHP错误严重性:警告消息:缺少参数.....
A PHP Error was encountered Severity: Warning Message: Missing argument.....
请协助。
推荐答案
$ params
必须是数组。 从文档:
在库加载函数中,您可以通过第二个参数将数据作为数组动态传递,并将其传递给您的类构造函数:
In the library loading function you can dynamically pass data as an array via the second parameter and it will be passed to your class constructor:
$params = array('type' => 'large', 'color' => 'red');
$this->load->library('Someclass', $params);
在你的情况下,你想做这样的事情: / p>
In your case, you want to do something like this:
function test()
{
$params[] = "abc"; // $params is an array
$this->load->library("test_lib",$params);
}
这篇关于通过将参数传递给codeigniter中的构造函数来加载库的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!