Hi Guys,
I have heard about seprate class for URL Routing in class. Can anyone help me with it?
Here is my in main config file and there are lot such Rules.
/*
 * GET api/orders/from/<:from>/count/<:count>
 * Get Infomration about Orders
 * Parameters accepted:
 *      from <optional> : Start from which order
 *      count <optional> : How many orders
 */
array(
    'api/order/list',
    'pattern' => 'api/orders',
    'verb' => 'GET'
),
array(
    'api/order/list/from/<offset>',
    'pattern' => 'api/orders/from/<offset:\w+>',
    'verb' => 'GET'
),
array(
    'api/order/list/count/<limit>',
    'pattern' => 'api/orders/count/<limit:\w+>',
    'verb' => 'GET'
),
array(
    'api/order/list/from/<offset>/count/<limit>',
    'pattern' => 'api/orders/from/<offset:\w+>/count/<limit:\w+>',
    'verb' => 'GET'
),
/*
 * GET api/orders/user/<:userid>/from/<:from>/count/<:count>
 * Get Infomration about an Order
 * Parameters accepted:
 *      userid <required> : Resource identifier for an User
 *      from <optional> : Start from which item
 *      count <optional> : How many items
 */
array(
    'api/order/list/user_id/<userid>',
    'pattern' => 'api/orders/user/<userid:\w+>',
    'verb' => 'GET'
),
array(
    'api/order/list/user_id/<userid>/from/<offset>',
    'pattern' => 'api/orders/user/<userid:\w+>/from/<offset:\w+>',
    'verb' => 'GET'
),
array(
    'api/order/list/user_id/<userid>/count/<limit>',
    'pattern' => 'api/orders/user/<userid:\w+>/count/<limit:\w+>',
    'verb' => 'GET'
),
array(
    'api/order/list/user_id/<userid>/from/<offset>/count/<limit>',
    'pattern' => 'api/orders/user/<userid:\w+>/from/<offset:\w+>/count/<limit:\w+>',
    'verb' => 'GET'
),
/*
 * GET api/orders/<:orderid>/items/from/<:offser>/count/<:limit>
 * Get Infomration about an Order
 * Parameters accepted:
 *      orderid <required> : Resource identifier for an Order
 *      from <optional> : Start from which item
 *      count <optional> : How many items
 */
array(
    'api/order/item_list/order_id/<orderid>/items',
    'pattern' => 'api/orders/<orderid:\w+>/items',
    'verb' => 'GET'
),
array(
    'api/order/item_list/order_id/<orderid>/from/<offset>',
    'pattern' => 'api/orders/<orderid:\w+>/items/from/<offset:\w+>',
    'verb' => 'GET'
),
array(
    'api/order/item_list/order_id/<orderid>/count/<limit>',
    'pattern' => 'api/orders/<orderid:\w+>/items/count/<limit:\w+>',
    'verb' => 'GET'
),
array(
    'api/order/item_list/order_id/<orderid>/from/<offset>/count/<limit>',
    'pattern' => 'api/orders/<orderid:\w+>/items/from/<offset:\w+>/count/<limit:\w+>',
    'verb' => 'GET'
),
I am asking this because, with this approach I endup writing lots of un-neccassary lines of routing. Instead If I can parse the url in array format then its just matter of array filters.