如何从codeigniter中的用户库调用控制器函数

时间:2013-01-05 13:54:05

标签: codeigniter libraries controllers

可以解释这个问题。我有一个名为DeleteBookPage的控制器函数。调用此函数时,它将获取DeleteBook页面所需的所有数据。一旦在页面上,用户从他们的配置文件中选择他们想要删除的数据,并调用我的一个库函数来执行删除。现在在库中我想在我的控制器中调用DeleteBookPage函数,这样我就可以重新加载没有旧项目的DeleteBook页面

2 个答案:

答案 0 :(得分:0)

目前还不清楚你是如何调用DeleteBookPage方法的,例如。是通过URI直接调用还是通过其他方法调用。但基本上你需要做的就是建立一个到DeleteBookPage方法的路由,并将浏览器重定向到那个URI。

redirect('/controller/DeleteBookPage');

唯一的问题是您的库应该真正独立工作,即它们不应该依赖于设置正常运行的特定路由。如果您的uri已经指向DeleteBookPage方法,那么这很容易,因为您只需刷新当前页面:

redirect($this->uri->uri_string());

如果不是这种情况,您可以在配置文件中存储控制器的路径并以这种方式重定向到它,或者只在库函数成功并从控制器重定向或刷新时返回true。

希望这很清楚,问你是否需要信息。

注意 您将需要为上述内容加载的uri助手才能工作。

答案 1 :(得分:0)

如果此库具有您的CRUD功能,那么您可以使用这种方法

在库构造函数中执行以下操作

var $ contr

public function __construct($ params = array()){

    $this->ci =& get_instance();
    $this->ci->load->helper('url');
    $this->controller=$this->ci->uri->segment(2);

}