如何在codeigniter中嵌套函数以获取更多页面

时间:2014-04-05 18:22:13

标签: php codeigniter

我想要实现的是在codeigniter中的博客系统,因为它有我的博客帖子的索引页面,我已经在控制器中使用了index()函数,因此我可以通过url / admin /访问它博客我也有一个编辑帖子的功能,就像编辑($ id = NULL),以便我处理要编辑的个人帖子。这在url / admin / blog / edit / 1中的url工作,因此我目前有这样的结构

class Blog extends Admin_Controller {

   public function index() {
       // Handle the page output
   }

   public function edit($id = NULL) {
       // Handle the edit page form
   }

}

到目前为止一切正常,我正在输出博客文章,我能够编辑,保存和/或删除它们。现在我想研究处理注释,现在我可以在一个表中显示所有注释,并在控制器中创建另一个函数,如下所示:

public function comments() {
   // Output the comments with the ability to edit and delete
}

但是,我现在想要像以前一样拥有一个编辑选项,但是如果我执行以下操作它就不起作用:

public function comments() {
    // Output the comments with the ability to edit and delete

    function edit($id = NULL) {
      // Edit form and submission page
    }
}

我想找到一种方法,我可以在控制器中嵌套这个页面,这样我的网址就像这样:

URL /管理/博客/评论/编辑/ 1

我正在使用最新版本的codeigniter,我不知道如何将该功能放在页面中,就像我试图嵌套它一样,是无效的。

有人可以帮忙吗?

1 个答案:

答案 0 :(得分:0)

使用该网址,函数comments将获得edit/1作为2个参数
试试这个 -

public function comments($edit=NULL, $id=NULL) 
{
    if($edit != NULL && $id != NULL) 
    {
        // Edit form and submission page
    }
}