如何创建和使用控制器–kohana3使用手册
控制器是一个应用程序中位于模型和视图之间的一个类文件。当数据需要被改变时,控制器将信息传递给模型。当数据需要加载时,控制器从模型请求得到信息。控制器将信息从模型传递到视图,最终显示给客户。
控制器的约定
■ 必须位于控制器(或子控制器)目录
■ 控制器文件名必须小写,如:articles.php
■ 控制器中的类必须和文件名关联,首字母大写并用 Controller_ 开头。如:Controller_Articles
■ 必须继承 Controller 父类
■ 控制器中需要被外部访问的方法必须定义为 public 并且用 action_ 开头(如:public action_index()),如果不是这样定义,那么就不能通过路由请求到该方法。
■ 要想从控制器输出信息,给 $this->request->response 赋值就可
请求一个控制器
默认情况下从 url 请求一个控制器可以在 url 中附加上控制器名和动作名,如下:
http://example.com/index.php/<控制器>/<动作>
例如。下面请求了 basic 控制器的 index 动作
http://example.com/index.php/basic/index
创建一个控制器
应用程序中的控制器一般放在 application/classes/controller 文件夹中。如果是作为模块那么则放在 module/模块名/classes/controller 文件夹下。
Basic 控制器
application/classes/controller/basic.php
class Controller_Basic extends Controller
{
public function action_index()
{
$this->request->response = "Hello World";
}
}
现在你如果访问 你的域名.com/basic/index (或者用URL 重写也就rewrite功能访问
你的域名.com/index.php/basic/index)你就会看到
Hello World
路由一个URI 到控制器
Kohana 3.0的 Route 类 支持你无限制的设置特殊格式的请求到指定的控制器和动作。
可以在你的 application/bootstrap.php 文件中定义路由,或者在 module/你的模块/init.php 文件中使用 Route::set() 方法