如何在codeigniter中生成/解析此RESTful URL

时间:2009-02-20 17:09:47

标签: php codeigniter rest codeigniter-routing

我是MVC的新手,是RESTful,还有CodeIgniter。我想在业余时间进入他们,所以这主要是一个学术问题。我正在尝试构建一个URL,以显示特定酒店的特定酒店房间的可用性。我认为RESTful的方法是:

http://url/Hotel/2/RoomAvailability/3/
  • “酒店”是控制器
  • “2”是酒店ID
  • “RoomAvailability”是方法
  • “3”是房间ID

如何在codeigniter中设置我的控制器来处理这个问题?目前我在想我可以做以下任何一种情况:

  • 使用mod_rewrite执行某些操作以重定向到RoomAvailability()方法
  • 使用index()方法执行某些操作并重定向到RoomAvailability()方法

真的这是一个非常通用的问题,因为我只想做以下事情:

http://url/model/method-argument/method-name/more-method-arguments

老实说,我很难找到搜索条件以找出要使用的内容(RESTful和CodeIgniter除外,这些内容并没有太大帮助。

我真的只是在寻找指导;不是有人为我写我的控制器。此外,如果我想要的这个URL很糟糕,而且根本不是RESTful;请随意指出一个更好的方法。

2 个答案:

答案 0 :(得分:3)

这个网址设置怎么样:

http://url/hotel/method/hotel_id/room_id

然后你可以这样做:

class Hotel extends Controller {

 function RoomAvailability() {
   $hotel = url_segment(3);
   $room = url_segment(4);
   do_magic();
 }

}

答案 1 :(得分:2)

查看CI用户指南,特别是有关路由的部分。

https://www.codeigniter.com/user_guide/general/routing.html