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应用程序来获取Web服务器的状态信息
Oct 09 PHP
利用js调用后台php进行数据处理原码
Oct 09 PHP
我的论坛源代码(七)
Oct 09 PHP
真正根据utf8编码的规律来进行截取字符串的函数(utf8版sub_str )
Oct 24 PHP
PHP autoload与spl_autoload自动加载机制的深入理解
Jun 05 PHP
WIN8.1下搭建PHP5.6环境
Apr 29 PHP
PHP中的静态变量及static静态变量使用详解
Nov 05 PHP
Yii2框架可逆加密简单实现方法
Aug 25 PHP
Laravel中encrypt和decrypt的实现方法
Sep 24 PHP
PHP实现数据库统计时间戳按天分组输出数据的方法
Oct 10 PHP
php-app开发接口加密详解
Apr 18 PHP
thinkphp5+layui实现的分页样式示例
Oct 08 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
数据库的日期格式转换
2006/10/09 PHP
PHP 存储文本换行实现方法
2010/01/05 PHP
一步一步学习PHP(6) 面向对象
2010/02/16 PHP
javascript 小型动画组件与实现代码
2010/06/02 PHP
探讨PHP使用eAccelerator的API开发详解
2013/06/09 PHP
hadoop常见错误以及处理方法详解
2013/06/19 PHP
ThinkPHP模板比较标签用法详解
2014/06/30 PHP
PHP实现对站点内容外部链接的过滤方法
2014/09/10 PHP
php静态文件生成类实例分析
2015/01/03 PHP
PHP使用FFmpeg获取视频播放总时长与码率等信息
2016/09/13 PHP
laravel 框架实现无限级分类的方法示例
2019/10/31 PHP
javascript json 新手入门文档
2009/12/03 Javascript
Javascript 八进制转义字符(8进制)
2011/04/08 Javascript
javascript重复绑定事件造成的后果说明
2013/03/02 Javascript
Javascript的严格模式strict mode详细介绍
2014/06/06 Javascript
JavaScript中switch判断容易犯错的一个细节
2014/08/27 Javascript
jquery中map函数遍历数组用法实例
2015/05/18 Javascript
原生JS和JQuery动态添加、删除表格行的方法
2015/05/28 Javascript
angularjs表格ng-table使用备忘录
2016/03/09 Javascript
Bootstrap每天必学之模态框(Modal)插件
2016/04/26 Javascript
js获取ip和地区
2017/03/10 Javascript
vue 实现 tomato timer(蕃茄钟)实例讲解
2017/07/24 Javascript
详解node单线程实现高并发原理与node异步I/O
2017/09/21 Javascript
Angular脚手架开发的实现步骤
2019/04/09 Javascript
linecache模块加载和缓存文件内容详解
2018/01/11 Python
使用python实现画AR模型时序图
2019/11/20 Python
解决keras GAN训练是loss不发生变化,accuracy一直为0.5的问题
2020/07/02 Python
利用CSS3实现开门效果实例源码
2016/08/22 HTML / CSS
土木工程应届生求职信
2013/10/31 职场文书
求职自荐信
2013/12/14 职场文书
计算机专业自荐信范文
2014/05/28 职场文书
领导走群众路线整改措施思想汇报
2014/10/12 职场文书
第二批党的群众路线教育实践活动个人整改方案
2014/10/31 职场文书
班主任经验交流心得体会
2015/11/02 职场文书
优秀乡村医生事迹材料(2016精选版)
2016/02/29 职场文书
Spring中的使用@Async异步调用方法
2021/11/01 Java/Android