Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/rest/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何在codeigniter中生成/解析这个RESTful url_Php_Codeigniter_Rest_Codeigniter Routing - Fatal编程技术网

Php 如何在codeigniter中生成/解析这个RESTful url

Php 如何在codeigniter中生成/解析这个RESTful url,php,codeigniter,rest,codeigniter-routing,Php,Codeigniter,Rest,Codeigniter Routing,我是MVC新手,是RESTful和CodeIgniter。我正试着在业余时间研究它们,所以这在很大程度上是一个学术问题。我正在尝试构建一个URL,该URL将显示特定酒店房间的可用性。我认为使用RESTful的方法可以做到以下几点: http://url/Hotel/2/RoomAvailability/3/ “酒店”是控制器 “2”是酒店ID “RoomAvailability”是一种方法 “3”是房间ID 如何在codeigniter中设置控制器来处理此问题?目前,我想我可以做以下任何一

我是MVC新手,是RESTful和CodeIgniter。我正试着在业余时间研究它们,所以这在很大程度上是一个学术问题。我正在尝试构建一个URL,该URL将显示特定酒店房间的可用性。我认为使用RESTful的方法可以做到以下几点:

http://url/Hotel/2/RoomAvailability/3/
  • “酒店”是控制器
  • “2”是酒店ID
  • “RoomAvailability”是一种方法
  • “3”是房间ID
如何在codeigniter中设置控制器来处理此问题?目前,我想我可以做以下任何一项:

http://url/Hotel/2/RoomAvailability/3/
  • 对mod_rewrite执行一些操作以重定向到RoomAvailability()方法
  • 使用index()方法执行一些操作,并重定向到RoomAvailability()方法
实际上,这是一个相当普遍的问题,因为我只想能够做到以下几点:

http://url/Hotel/2/RoomAvailability/3/
http://url/model/method-argument/method-name/more-method-arguments

老实说,我很难想出搜索词来找出要使用的内容(除了RESTful和CodeIgniter,它们没有太大帮助)


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

查看CI用户指南,特别是路由部分


查看CI用户指南,特别是路由部分


这个url设置如何:

http://url/hotel/method/hotel_id/room_id
然后你可以这样做:

class Hotel extends Controller {

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

}

这个url设置如何:

http://url/hotel/method/hotel_id/room_id
然后你可以这样做:

class Hotel extends Controller {

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

}

我想了想,但这算是休息吗?我想如果算是休息的话,你必须按照我的顺序来安排。比如“一家酒店(这个酒店id)房间(这个房间id)的可用性”。我可能完全错了。在这种情况下,使用路由可能是最好的方法。在codeigniter中设置路由非常容易。$route[“hotel/:num/RoomAvailability/:num”]='RoomAvailabilityClass';可能会让你去改变公认的答案,这条路线正是我所需要的,现在效果很好,谢谢!我想了想,但这算是休息吗?我想这算是休息了,你必须按照我拥有的顺序准备一些东西。比如“一家酒店的(这个酒店id)房间的(这个房间id)”可用性“。我可能完全错了。在这种情况下,使用路由可能是最好的方法。在codeigniter中设置路由非常容易。$route[“hotel/:num/RoomAvailability/:num”]=“RoomAvailability/:num”];可能会让您继续更改已接受的答案,该路由正是我需要的,它现在工作得很好,谢谢!