如何从CodeIgniter中的模型加载帮助器?

时间:2009-11-05 13:53:03

标签: php class codeigniter

我想在模型中加载一些帮助器。这该怎么做?试图使用:

${get_parent_class($this)}->load->helper ('text');

但仍然出现错误

  

致命错误:在非对象上调用成员函数helper()

4 个答案:

答案 0 :(得分:34)

GSto回答$this->load->helper('helpername'),但如果您使用模型的方法,$this只是引用该模型的(类)实例,而不是CI全局。那不行!

相反,您需要加载CI全局,然后加载帮助程序:

// PHP 4
// $ci =& get_instance();
// PHP 5    
$ci = get_instance();
$ci->load->helper('text');

答案 1 :(得分:0)

您不需要在模型中加载帮助程序。只需在控制器中加载帮助程序并使用模型中的函数,以及我们通常在控制器中使用辅助函数

答案 2 :(得分:-3)

$this->load->helper('helpername')

答案 3 :(得分:-3)

我认为CI没有检查辅助重复... CI herlpers是程序文件,如果你的控制器加载了与ur模型相同的帮助器(在该控制器中加载),你可能会包含两次ur helper。也许做一个图书馆......

我可以看到我得到负面投票没有任何评论......通过从核心CI检查加载器类你可以看到帮助器方法没有检查辅助器是否已经被加载(它不包含在is_loaded()数组中像大多数通过加载工厂类加载的类)...我不建议无论如何在模型和控制器中加载助手...为我做了一个帮助输出编码,我在控制器中使用(在我将数据传递给视图)。如果我改变视图状态两次就会非常糟糕......