Codeigniter 动态视图加载器

Codeigniter dynamic viewloader

我一直在研究动态视图加载器,但 运行 遇到了一些问题。 尽管当我得到一个 "edit" 时它工作正常,但我似乎无法在我得到一个 add 后以一种很好的方式修复代码。

当前的 viewLoader 如下所示:http://pastebin.com/e9piMJBW

我遇到的问题是第 45 行:

 $values['data'] = $this->DoQuery($url[(count($url) - 3)], $url[(count($url) - 2)], $url[(count($url) - 1)]);

我一直希望我的 url 成为:域。com/something/users/edit/55。

我的 URL 的最后 3 段将定义要做什么。

用户 => Table

编辑 => 功能和

55 为用户 ID。

我将它用于我的管理面板,因此它会根据 URL 和 $_POST 值自动获取/插入数据。

我的问题是,一旦我添加了这个 senario 就会有所不同。 URL 将如下所示:

域名.com/something/users/add

我将不再拥有所有 3 个值(正如编辑/删除所预期的那样)

第 45 行的问题可以按如下方式解决:

 function generateUrl(){
    $this->load->helper("url");
    $url = explode("/", $this->uri->uri_string());
    $values = array();

    if (count($url) == 5 ) {// Edit of Delete
      $values['data'] = $this->DoQuery($url[(count($url) - 3)], $url[(count($url) - 2)], $url[(count($url) - 1)]);
    }
    else {  //Add
      $values['data'] = $this->DoQuery($url]count($url)-2)],$url[(count($url) -1)]);
   }
    ......