Я использую codeigniter. Я определил библиотеку в воспламенителе кода и ожидаю параметр в его конструкторе. Это мой код библиотеки –
################# [My Library Code Test_lib.php ] ######################## <?php class Test_lib { var $params; public function __construct($params) { $this->params = $params; echo $this->params; } }
В документации codeigniter упоминается, что вы можете передать параметр во втором аргументе. Итак, я инициализирую его от контроллера, как показано ниже:
<?php class Test_cont extends CI_Controller { function __construct() { parent::__construct(); } function test() { $params = "abc"; $this->load->library("test_lib",$params); } }
Я получаю следующую ошибку –
Возникла ошибка PHP. Серьезность: предупреждение: отсутствующий аргумент …..
Пожалуйста помогите.
$params
должен быть массивом. Из документации :
В функции загрузки библиотеки вы можете динамически передавать данные в виде массива через второй параметр, и он будет передан вашему конструктору класса:
$params = array('type' => 'large', 'color' => 'red'); $this->load->library('Someclass', $params);
В вашем случае вы хотите сделать что-то вроде этого:
function test() { $params[] = "abc"; // $params is an array $this->load->library("test_lib",$params); }
Вам просто нужно изменить $ params от переменной к массиву. надеюсь, что это сработает
function test() { $params = array(1=>'abc'); $this->load->library('test_lib',$params); }