PHP开发框架kohana3 自定义路由设置示例

这篇文章主要介绍了PHP开发框架kohana3 自定义路由设置示例,kohana是一个纯PHP5的开发框架,需要的朋友可以参考下

由于kohana框架在国内的用户较少,而且新版与kohana2.X差别太大,加之kohana3资料多为英文.让很多对kohana感兴趣,想学的同学们只能望K兴叹.由于公司 最近转向kohana3开发(kohana3.1.0稳定版),所以我趁次机会,认真看了下官方的资料.获益良多,借个人小站,分享给大家.今天呢,就说下kohana的路由设置.

再次说下,我用的是ko3.1.0与ko3有差别的.

其实呢,kohana3的路由设置,很简单.打开application文件下的bootstrap.php,找到Route::set,会看如下的默认路由:

  1. Route::set('default', '((/(/)))')
  2. ->defaults(array(
  3. 'controller' => 'welcome',
  4. 'action' => 'index',
  5. ));

这个呢,就是默认的路由了,可以看出它的组成是这样子的.名称,控制器,动作,参数.特别要指出的是,每个路由必须指定默认的控制和动作,一般是index.

如何创建自定义的路由呢,其实和默认的写法是一样只不过,加入自己要加的东西.例如有一个产品列表页,需要获取产品类型的ID和当前页码.

路由可以这样设置,代码如下:

  1. Route::set('product', 'product/((/)(/))')
  2. ->defaults(array(
  3. 'controller' => 'product',
  4. 'action' => 'index',
  5. 'id' =>0,
  6. 'page' =>0//有的例子这里是NULL,但是我用了报错.
  7. ));

这里呢,第一个product是名称,后面的是重点讲的地方,product是控制器,/action是动作,一定要这么写.后面(/<>)里面是参数.在页面中获取这里参数是这样,$id = $this->request->param('id'),这个里面的id,与路由里面的id名称必须相同.

需要的同学可参照这个例子去改,应该可以了.未了,强烈推荐大家看2个站的东西

1.http://kohanaframework.org/3.1/guide(官方的在线文档)

2.http://kerkness.ca/wiki/doku.php(非官方的维基,例子比官方的好,但是版本3.0的)

可以对比着看,相信大家一定可以玩转kohana,加油!!