我正在编写我的第一个 MVC Web 应用程序,我正在努力使其尽可能保持教科书式和 RESTful 风格。
它基本上是一个客户订购系统。我有以下 url 路由到以下 Controller 方法
url - Controller - 方法
/customers 客户 Controller 索引(显示所有客户的列表)
/customers/1 客户 Controller View (显示 id = 1 的客户的详细信息)
/orders 订单 Controller 索引(显示所有订单列表)
/orders/1 订单 Controller View (显示 order_no = 1 的订单的详细信息)
我想要做的是添加一个页面,显示与网址为/customers/1/orders 的特定客户关联的订单列表。我不确定这应该映射到哪个 Controller 以及什么方法。
它应该放入客户 Controller 、订单 Controller 还是应该有一个新的客户订单 Controller ?
非常感谢任何帮助、建议、评论,
谢谢
吉姆
最佳答案
据我所知,您只是将过滤器应用于所有订单的列表。因此,使用 Orders
Controller 会更有意义。
此外,您可能会重新考虑您的路由策略。恕我直言,最好有这样的东西: /:controller((/:action)/:id)
,默认值为 index
或 list
执行操作。以下是此模式的 View 示例:
/orders << all of the orders
/orders/customer/2 << data for customer_id = 2
/orders/locations << orders , ordered by location
/orders/customer << orders , ordered by customer
/customers << all curomers
/order/details/1 << info for single order with id = 1
研究 Kohana3 如何进行路由可能对您有好处。尽管存在所有问题,路由仍然是最好的功能之一。
好吧..只是我的两分钱。
关于php - RESTful MVC 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9775705/