在您设置路线的bootstrap.php中,我很难让它们工作。前一阵子我读了一些文件,但似乎再也找不到解释它们的原因了。下面是我的一个例子

Route::set('products', 'products/(type)', array('type' => '.+'))
    ->defaults(array(
    'controller' => 'articles',
    'action' => 'view_product',
    'page' => 'shock-absorbers',
    ));

我想这意味着像products/something这样的请求会加载articles控制器和action_view_product()方法。但我不能让它工作。
有人能给我解释一下它们是如何工作的吗?所有的方法参数是什么?

最佳答案

我想那意味着一个请求
像产品一样
物品管理员和
操作查看产品控制器。但我
不能让它工作。
你把黑体部分弄错了。它将实际加载物品控制器的操作视图产品方法:

class Controller_Articles extends Controller {
   public function action_view_product() {
       $params = $this->request->param();
       // if the uri is `products/something' then $params['type'] == 'something'
   }
}

编辑:
天啊,天啊,我怎么没注意到!!!!
真正的问题在于你的路线模式!应该是带尖括号的products/(<type>)。这些将提示kohana您希望“type”是参数名,而不是文本。

07-24 09:51
查看更多