如何动态设置codeigniter库构造函数

时间:2013-03-20 16:42:21

标签: php codeigniter

我正在尝试动态设置一个codeigniter构造函数,但是遇到了困难。我有我的控制器:

$arguments=array('login'=>'***','pass'=>'***');  ;                   
$this->load->library('mailer', $arguments);
$phpmail = new Mailer;
$phpmail->sendmail('***', 'bob', 'hi', 'there');

我的构造函数第一行看起来像:

public function __construct($login,$pass)

但我得到以下内容:

Message: Missing argument 1 for Mailer::__construct(), 

任何想法我做错了什么?

提前致谢,

比尔

1 个答案:

答案 0 :(得分:2)

来自the docs

  

在库加载功能中,您可以动态传递数据   数组通过第二个参数,它将传递给您的类   构造:

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

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

如果您使用此功能   您必须设置类构造函数以期望数据:

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class Someclass {

    public function __construct($params)
    {
        // Do something with $params
    }
}

?>

第一个参数是您传递的确切数组。请改用$params['login']$params['pass']