zoukankan      html  css  js  c++  java
  • Kohana路由

    路由是Kohana中的难点之一:

    前面知道:Controller::rediect("welcome/index");会访问控制器 welcome的index函数

    其实它的原理就是  :

         页面发出对控制器index函数的请求;

         找到当前使用匹配的路由;

         按路由规则找控制器,再找到对应的函数。

      疑问: 路由是一个非常重要的概念,如手册所说,你可以用路由做很多不可思议的事情。但是学到现在,个人感觉路由只是定位你控制器下面的函数,没感觉有手册说的那么夸张:

    现在深入探究下路由的使用:

    1,路由有自己的name,会不会是所有的路由根据name来区别。所有的控制器,视图或者自己新建立的文件夹项目都可以有属于自己的路由。

      不继续猜想了,请看提示2.

     2,手册中的转向404页面提示我,为什么要有多个路由,因为根据url编写的规则然后控制路由的转向才是路由的精髓所在。

       优先极的问题:

       在同一个页面中,相同的规则的路由越往上就越先调用。

       模块中的init.php比bootstarp.php先调用。

    规则学习:

      我觉得弄懂了规则就相当与弄懂了路由。

      先看分析下kohana默认路由:(有过REGEX学习的可以看下Kohana_Route类)

    1 Route::set('deflaut', '(<controller>(/<action>(/<id>)))')
    2 ->defaults(array(
    3 'controller' => 'welcome',
    4 'action'     => 'index',
    5 'id'=>'myid',
    6 ));

      注意这个规则 (<controller>(/<action>(/<id>))) 共有() ,<>,/三个符号,<>表示键值,()表示该参数可有可无,如果没有的话就会匹配到默认值 defaults数组中的值。/表示界限符。

      思考:路由只能定位到控制器么??

  • 相关阅读:
    自定义、操作cookie
    云中沙箱学习笔记2-ECS之初体验
    云中沙箱学习笔记1-快速部署并使用MySQL数据库
    练习小程序
    理解Thread.sleep()函数
    排序:冒泡排序;直接选择排序;反转排序
    float和double
    BigDecimal
    Linux学习笔记5(2)-CentOS7中Tomcat8修改jvm内存配置
    ret2dl学习笔记
  • 原文地址:https://www.cnblogs.com/canbefree/p/3663761.html
Copyright © 2011-2022 走看看