我正在尝试创建自己的库,以便我可以在我的应用程序中处理自定义区域。我有一个位于应用程序/库的小库,我称之为随机数发生器。它看起来像这样:
:target
在我的控制器中,我试图测试简单的test_function:
Class Randomizer {
public function __construct()
{
parent::_construct();
$CI =& get_instance();
$CI->load->library('session');
$CI->load->database();
}
function test_function($name)
{
return 'Hi dear' . $name . 'welcome back!';
}
}
我收到以下错误
public function index()
{
echo($this->Randomizer->test_function('John'));
exit;
}
答案 0 :(得分:0)
请仔细查看documentation。有一些问题。
首先,您似乎没有加载库($this->load->library('randomizer')
),否则您会收到语法错误,因为您正在调用parent::_construct()
,而不是parent::__construct
。而且你无论如何都不必调用那个函数,因为你的班级没有父母(它不会extend
一个班级......)。
此外,虽然您使用大写声明了您的类,但该变量将为小写。所以你应该致电$this->randomizer->test_function()
答案 1 :(得分:0)
我可以看到几个可能的错误。首先,您没有加载在控制器中创建的库。如果你在调用库函数之前没有使用$this->load->library('randomizer');
。如果要在整个控制器上使用库,则通过控制器__consturct加载它。此外,我猜你没有扩展现有的类,因此不需要parent::_construct()
。确保您了解使用库的原因以及何时应该使用帮助程序。详细了解Codeigniter Libraries