控制器惯例
必须保存在控制器目录或子目录
控制器文件名必须是小写,例如:articles.php
控制器类必须映射到文件名和有意义,必须以Controller_ 开头,例如Controler_Snamper
必须以Controller类作为父类
控制器的方法如果不声明为public或者不在前面冠于“action_”(例如:action_index())将不会被路由请求定义
控制器输出应该被$this->request->response分配
请求控制器
通过从一个URL请求控制器默认是通过追加控制器的名称和动作,像为以下格式的网址
http://example.com/index.php/controller/action
比如:下面的请求就是需要Basic控制器中的index动作
http://example.com/index.php/basic/index
创建一个控制器
应用程序的控制器都保存在application/classes/controller 文件夹,如果是一个模块就保存在module/mymodule/classes/controller 文件夹
一个基本的控制器
application/classes/controller/basic.php
class Controller_Basic extends Controller { public function action_index() { $this->request->response = "Hello World"; } }
现在你输入 yoursite.com/basic/index (或者 yoursite.com/index.php/basic/index 没有url重定向) 你应该看到.
Hello World
url重定向:1.将Kohana中的自带的exampl.htaccess文件名改为.htaccess,并修改其中的内容 RewriteBase /kohana/2.APACHE要启用mod_rewrite
URI路由到一个控制器
kohana3.0的Route类为你提供了映射到特殊格式的控制器和动作的请求路由应该通过调用Route::set()方法在application/bootstrap.php文件或在 modules/mymodule/init.php文件中定义