1

使用 Fuelphp,我希望能够使用类似于 StackOverflow 上的 URL 系统来访问特定页面。

期望的行为:-stackoverflow.com/questions -> 包含许多问题的页面 -stackoverflow.com/questions/1982 -> 包含特定问题的页面

这是我的控制器:

class Controllers_Images extends Controller_Template
{
   public function action_index($id=null)
   {
      if($id)
      {
         //Use Model_Image to find specific image
         //Create appropriate view
      }
      else
      {
         //Use Model_Image to find many images
         //Create appropriate view
      }
   }
}

我可以访问“通用”页面mysite.com/images/- 这被路由到action_index函数。我可以使用 访问“特定”页面mysite.com/images/index/1。我想做的是index在这种情况下也可以跳过,这样就mysite.com/images/1可以了。现在我收到 404。如何为此设置路由?

4

1 回答 1

2

经过一番摸索,我想出了一个很好的解决方案:

class Controllers_Images extends Controller_Template
{
   public function action_index()
   {
      //Use Model_Image to find many images
      //Create appropriate view
   }
   public function get_id($id)
   {
      //Use Model_Image to find specific image
      //Create appropriate view
   }
}

routes.php

return array(
   'images/(:num)'=>'images/id/$1',
   //other routing stuff...
);

通过此设置,URL“mysite.com/images/1”现在可以适当地显示所选图像,就像使用“mysite.com/images/id/1”一样。没什么大不了的,但它是一个更好的界面,这很重要!

于 2014-03-28T22:31:12.227 回答