Php CodeIgniter参数未传递到库?
好的,我正在尝试将参数传递给我创建的库的构造函数,我创建该库是为了扩展CI_Form_验证类。 总之,以下是我从模型中传递的信息:Php CodeIgniter参数未传递到库?,php,codeigniter,Php,Codeigniter,好的,我正在尝试将参数传递给我创建的库的构造函数,我创建该库是为了扩展CI_Form_验证类。 总之,以下是我从模型中传递的信息: $this->load->library('MY_Form_validation', array('config' => '', 'post' => $this->input->post())); 下面是MY_Form_验证库: private $post; public function __construct($p
$this->load->library('MY_Form_validation', array('config' => '', 'post' => $this->input->post()));
下面是MY_Form_验证库:
private $post;
public function __construct($params) {
parent::__construct($params['config']);
$this->post = $params['post'];
}
但它是说我没有传递任何信息。以下是错误消息:
Message: Missing argument 1 for MY_Form_validation::__construct(), called in H:\WD SmartWare.swstor\HALEY-HP\Source\DStable\stable\core\Loader.php on line 1099 and defined
Message: Undefined variable: params
编辑
应要求,全班:
class MY_Form_validation extends CI_Form_validation {
private $post;
public function __construct($params) {
parent::__construct($params['config']);
$this->post = $params['post'];
}
}
您只需将空数组而不是空字符串作为第一个参数传递给构造函数,构造函数将发送给父级:
$this->load->library('MY_Form_validation', array('config' => array(), 'post' => $this->input->post()));
CI表单验证库实际上是这样初始化配置参数的,这是来自system/libraries/Form\u Validation.php
的构造函数:
public function __construct($rules = array())
您是否在其他地方加载表单验证库?特别是自动装弹机?等等什么?如果在自动加载器中加载类,它是否到处加载?我哪儿也不装。实际上,我正在把它加载到register.php控制器中!这有关系吗?你能发布你的类声明以进行我的表单验证吗?你的声明是什么意思?在这里,我只想发布开头和所有内容,除非声明是这样的:PTry从load->library中删除“MY_”。CI在加载前自动查找库的“我的”版本