通过将参数传递给codeigniter中的构造函数来加载库 [英] Load library by passing parameter to constructor in codeigniter

查看:87
本文介绍了通过将参数传递给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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆