我正在尝试动态设置一个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(),
任何想法我做错了什么?
提前致谢,
比尔
答案 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']
。