【问题标题】:php - codeigniter - Undefined property loading form helperphp - codeigniter - 未定义的属性加载表单助手
【发布时间】:2013-08-30 07:49:38
【问题描述】:
我有以下代码来创建一个类,但是当带有他的 costructor 的类被加载时,我得到一个错误:
Class DropDown {
public function __construct()
{
if ( ! function_exists('form'))
{
(line 11) $this->load->helper('form');
}
}
还有错误
A PHP Error was encountered
Severity: Notice
Message: Undefined property: DropDown::$load
Filename: helpers/dropdown_helper.php
Line Number: 11
提前谢谢大家
【问题讨论】:
标签:
php
codeigniter
load
undefined
helper
【解决方案1】:
DropDown 是什么?你必须扩展 CI_*,你不能使用 $this->load,你的类中没有这样的功能。
或者使用 $CI = &get_instance();然后将 $this 替换为 $CI
【解决方案2】:
您必须将 CodeIgniter 对象分配给一个变量:
$CI =& get_instance();
$CI->load->helper('form');
如果您不想使用$CI,可以继续使用$this。
只需将__get 方法添加到您的类中,您就可以使用$this->load 格式。
public function __get($var)
{
return get_instance()->$var;
}
【解决方案3】:
您可以像这样扩展 CI controller 而不是 Bora 的答案
Class DropDown extends CI_Controller {
public function __construct()
{
if ( ! function_exists('form'))
{
$this->load->helper('form');
}
}