0

我正在为我的图片网站编写一个控制面板。我有一个名为 category 的控制器,如下所示:

class category extends ci_controller
{
    function index(){}// the default and when it called it returns all categories 

    function edit(){}

    function delete(){}

    function get_posts($id)//to get all the posts associated with submitted category name
    { 

    }
}

我需要的是,当我调用时,我http://mysite/category/category_name无需调用 get_posts() 方法即可获得所有帖子,而不必从 url 调用它。

我想在不使用 .haccess 文件或路由的情况下做到这一点。

有没有办法在 CodeIgniter 中动态创建方法?

4

2 回答 2

1
function index(){
    $category = $this->uri->segment(2);
    if($category)
    {
        get_posts($category); // you need to get id in there or before. 
    }

    // handle view stuff here

}

我阅读您的请求的方式是您希望索引根据 uri 段中是否存在类别来处理所有内容。你可以那样做,但真的,你为什么要这样做?

坚持不使用框架的正常功能而不解释您为什么不想要的原因是不合逻辑的。如果您有权访问此控制器,则您可以访问路由。那么你为什么不想使用它们呢?

编辑

$route['category/:any'] = "category/get_posts";

那将发送编辑和删除到 get_posts,但您也可以只定义类别路线上方的那些

$route['category/edit/:num'] = "category/edit";
$route['category/delete/:num'] = "category/delete";
$route['category/:any'] = "category/get_posts";

这将解决类别获取之前的编辑和删除问题。由于您只有 2 种冲突的方法,因此这应该不是那么大的问题。

于 2013-04-24T18:40:09.600 回答
0

动态创建方法 yii 是 PHP 框架中最好的。Gii 和 CRUD 非常简单和强大

http://www.yiiframework.com/doc/guide/1.1/en/quickstart.first-app

但我是 CI 的忠实粉丝,不是 Yii。yii 也很酷。

但 Codeigniter 有另一种网络解决方案。

http://formigniter.org/在这里。

于 2013-04-24T20:58:22.527 回答