我正在创建一个表单错误记录器,但由于我的register.php控制器已满,我想把它移到帮助器上,但问题是我不能使用$ this。
是的我已经检查过并且有一些anwsers通过使用:
解决了这个问题function test()
{
$CI =& get_instance();
$CI->load->database();
echo $CI->db->hostname; // give the config name here (hostname).
}
(引自Acess database config variables from a helper)
然而我的问题是,我每个功能只能使用一个模型并且看到我试图移动的代码是这样的:
function submitCheck() {
$this->load->model("User");
if(empty($post)) { //If anything is empty the view will be loaded
$this->load->view('includes/header.php');
$this->load->view('error_message.php');
$this->load->view('includes/footer.php');
if(empty($post['firstname'])) //This is for the error log
{
$this->load->helper('array', 'error'); //Loading the helper
echo $msg = errorLog('firstname');
$this->load->view('error_message.php');
}
if(empty($post['mail'])) //This is for the error log
{
$this->load->helper('error'); //Loading the helper
echo $msg = errorLog('mail');
}
}
else
{
echo "Everything is filled in";
}
}
因此,如果遵循代码示例,我必须为每个$ this制作大约4/5个函数。我应该创建一个在术语中加载其他加载器的加载器,还是可以使用user_loader加载其他视图/模型。
我是codeIgniter的首发,所以我可能只是觉得太困难而且有一个简单的修复,但我找不到它。任何帮助都是适当的
提前致谢!
答案 0 :(得分:1)
根据CodeIgniter documentation:
与CodeIgniter中的大多数其他系统不同,Helpers不是写入的 面向对象的格式。它们是简单的程序功能。每 辅助函数执行一个特定的任务,不依赖于 其他功能。
不建议在您的情况下使用帮助程序。最好定义自定义库来管理大部分代码。