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


Posted in PHP onJuly 14, 2014

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

Route::set('default', '((/(/)))')

->defaults(array(

'controller' => 'welcome',

'action'     => 'index',

));

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

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

Route::set('product', 'product/((/)(/))')

->defaults(array(

'controller' => 'product',

'action'     => 'index',

'id'             =>0,

'page'       =>0//有的例子这里是NULL,但是我用了报错.

));

这里呢,第一个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,加油!!

PHP 相关文章推荐
Discuz 6.0+ 批量注册用户名
Sep 13 PHP
php preg_filter执行一个正则表达式搜索和替换
Feb 27 PHP
解析mysql中UNIX_TIMESTAMP()函数与php中time()函数的区别
Jun 24 PHP
PHP面向对象精要总结
Nov 07 PHP
在SAE上搭建最新wordpress的方法
Dec 21 PHP
php使用pdo连接并查询sql数据库的方法
Dec 24 PHP
PHP使用PDO连接ACCESS数据库
Mar 05 PHP
如何使用jQuery+PHP+MySQL来实现一个在线测试项目
Apr 26 PHP
PHP实现文件上传和多文件上传
Dec 24 PHP
基于php数组中的索引数组和关联数组详解
Mar 12 PHP
总结PHP中初始化空数组的最佳方法
Feb 13 PHP
Laravel5.5 动态切换多语言的操作方式
Oct 25 PHP
PHP缓存机制Output Control详解
Jul 14 #PHP
PHP生成指定长度随机数最简洁的方法
Jul 14 #PHP
PHP下通过QRCode类库创建中间带网站LOGO的二维码
Jul 12 #PHP
PHP实现获取图片颜色值的方法
Jul 11 #PHP
PHP基于php_imagick_st-Q8.dll实现JPG合成GIF图片的方法
Jul 11 #PHP
php事务处理实例详解
Jul 11 #PHP
PHP实现显示照片exif信息的方法
Jul 11 #PHP
You might like
全国FM电台频率大全 - 13 福建省
2020/03/11 无线电
php 缓存函数代码
2008/08/27 PHP
linux下安装php的memcached客户端
2014/08/03 PHP
php使用Jpgraph绘制复杂X-Y坐标图的方法
2015/06/10 PHP
php检测mysql表是否存在的方法小结
2017/07/20 PHP
Thinkphp5 微信公众号token验证不成功的原因及解决方法
2017/11/12 PHP
基于jquery的Repeater实现代码
2010/07/17 Javascript
js中有关IE版本检测
2012/01/04 Javascript
深入分析js中的constructor和prototype
2012/04/07 Javascript
如何让easyui gridview 宽度自适应窗口改变及fitColumns应用
2013/01/25 Javascript
jquery mobile事件多次绑定示例代码
2013/09/13 Javascript
JavaScript页面模板库handlebars的简单用法
2015/03/02 Javascript
详细介绍jQuery.outerWidth() 函数具体用法
2015/07/20 Javascript
jQuery源码分析之init的详细介绍
2017/02/13 Javascript
Vue组件选项props实例详解
2017/08/18 Javascript
vue webpack打包优化操作技巧
2018/02/22 Javascript
深入学习JavaScript中的bom
2019/05/27 Javascript
详解小程序中h5页面onShow实现及跨页面通信方案
2019/05/30 Javascript
jquery-ui 进度条功能示例【测试可用】
2019/07/25 jQuery
[01:03:03]VP vs Mineski 2018国际邀请赛淘汰赛BO3 第一场 8.22
2018/08/23 DOTA
Python中的with...as用法介绍
2015/05/28 Python
详解python里的命名规范
2018/07/16 Python
PyCharm代码回滚,恢复历史版本的解决方法
2018/10/22 Python
python 重命名轴索引的方法
2018/11/10 Python
Python查找最长不包含重复字符的子字符串算法示例
2019/02/13 Python
WxPython建立批量录入框窗口
2019/02/27 Python
Python 实现判断图片格式并转换,将转换的图像存到生成的文件夹中
2020/01/13 Python
一篇文章搞懂python的转义字符及用法
2020/09/03 Python
matplotlib阶梯图的实现(step())
2021/03/02 Python
美国厨房和园艺工具网上商店:Nestneed
2019/08/24 全球购物
linux比较文件内容的命令是什么
2015/09/23 面试题
民主生活会对照检查材料思想汇报
2014/09/27 职场文书
联谊会开场白
2015/06/01 职场文书
公司费用报销管理制度
2015/08/04 职场文书
青年岗位能手事迹材料(2016推荐版)
2016/03/01 职场文书
PostgreSQL基于pgrouting的路径规划处理方法
2022/04/18 PostgreSQL