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 相关文章推荐
用PHP和ACCESS写聊天室(九)
Oct 09 PHP
phpmyadmin 3.4 空密码登录的实现方法
May 29 PHP
浅谈apache和nginx的rewrite的区别
Feb 22 PHP
浅谈PHP与C#的值类型指向区别的详解
May 21 PHP
php使用mb_check_encoding检查字符串在指定的编码里是否有效
Nov 07 PHP
php中file_get_content 和curl以及fopen 效率分析
Sep 19 PHP
PHP生成条形码大揭秘
Sep 24 PHP
PHP魔术方法以及关于独立实例与相连实例的全面讲解
Oct 18 PHP
php正则修正符用法实例详解
Dec 29 PHP
ajax+php实现无刷新验证手机号的实例
Dec 22 PHP
php实现的简单多进程服务器类完整示例
Feb 01 PHP
PHP7新特性
Mar 09 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
PHP中file_exists函数不支持中文名的解决方法
2014/07/26 PHP
php中$_GET与$_POST过滤sql注入的方法
2014/11/03 PHP
php生成圆角图片的方法
2015/04/07 PHP
PHP crc32()函数讲解
2019/02/14 PHP
JavaScript入门教程(1) 什么是JS
2009/01/31 Javascript
js左侧多级菜单动态的解决方案
2010/02/01 Javascript
jQuery替换字符串(实例代码)
2013/11/13 Javascript
js获取checkbox值的方法
2015/01/28 Javascript
js中跨域方法原理详解
2015/07/19 Javascript
JavaScript中的this到底是什么(一)
2015/12/09 Javascript
原生js和jQuery实现淡入淡出轮播效果
2015/12/25 Javascript
Function.prototype.apply()与Function.prototype.call()小结
2016/04/27 Javascript
使用jquery给指定的table动态添加一行、删除一行
2016/10/13 Javascript
JavaScript排序算法动画演示效果的实现方法
2016/10/18 Javascript
js实现文字选中分享功能
2017/01/25 Javascript
jQuery EasyUI Accordion可伸缩面板组件使用详解
2017/02/28 Javascript
jQuery实现简单的计时器功能实例分析
2017/08/29 jQuery
父组件中vuex方法更新state子组件不能及时更新并渲染的完美解决方法
2018/04/25 Javascript
在Bootstrap开发框架中使用dataTable直接录入表格行数据的方法
2018/10/25 Javascript
JS前端知识点总结之页面加载事件,数组操作,DOM节点操作,循环和分支
2019/07/04 Javascript
[00:32]2018DOTA2亚洲邀请赛出场——LGD
2018/04/04 DOTA
Python线程详解
2015/06/24 Python
Python IDLE 错误:IDLE''s subprocess didn''t make connection 的解决方案
2017/02/13 Python
Python实现的括号匹配判断功能示例
2018/08/25 Python
python实现windows壁纸定期更换功能
2019/01/21 Python
Python实现TCP探测目标服务路由轨迹的原理与方法详解
2019/09/04 Python
基于python判断目录或者文件代码实例
2019/11/29 Python
借助Paramiko通过Python实现linux远程登陆及sftp的操作
2020/03/16 Python
Jupyter notebook设置背景主题,字体大小及自动补全代码的操作
2020/04/13 Python
python中urllib.request和requests的使用及区别详解
2020/05/05 Python
浅谈keras中自定义二分类任务评价指标metrics的方法以及代码
2020/06/11 Python
Virtualenv 搭建 Py项目运行环境的教程详解
2020/06/22 Python
致长跑运动员广播稿
2014/01/31 职场文书
红色旅游心得体会
2014/09/03 职场文书
观看信仰心得体会
2014/09/04 职场文书
Python自动化实战之接口请求的实现
2022/05/30 Python