如何使用Codeigniter将参数传递给自定义库?

时间:2019-06-08 06:11:48

标签: php codeigniter

我正在codeigniter中创建一个自定义库,我想在构造函数中传递parametere。 任何解决方案都适用!

function __construct( $iteration_count_log2, $portable_hashes )
    {
        $this->itoa64 = 
'./0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz';

    if ($iteration_count_log2 < 4 || $iteration_count_log2 > 31)
        $iteration_count_log2 = 8;
    $this->iteration_count_log2 = $iteration_count_log2;

    $this->portable_hashes = $portable_hashes;

    $this->random_state = microtime() . uniqid(rand(), TRUE); // removed getmypid() for compatibility reasons
}

这是加载库的代码

public function __construct() {
    parent::__construct();
    $this->load->library('PasswordHash');
}

1 个答案:

答案 0 :(得分:0)

从文档中:https://www.codeigniter.com/user_guide/general/creating_libraries.html#passing-parameters-when-initializing-your-class

初始化库时:

$params = array('type' => 'large', 'color' => 'red');

$this->load->library('someclass', $params);

您的图书馆:

class Someclass {

        public function __construct($params)
        {
                echo $params['type']; // large
        }
}

注意:CI只能通过一个参数,因此,如果要发送多个参数,则必须通过一个参数作为数组发送,如上所示。