开发手册 欢迎您!
软件开发者资料库

FuelPHP - 控制器

FuelPHP控制器 - 从简单和简单的步骤学习FuelPHP,从基本到高级概念,包括简介,安装,架构概述,简单Web应用程序,配置,控制器,路由,请求和响应,视图,演示者,模型和数据库,表单编程,验证,高级表单编程,文件上传,Ajax,HMVC请求,主题,模块,包,Cookie和会话管理,事件,电子邮件管理,Profiler,错误处理和调试,单元测试,完整的工作示例。

控制器负责处理FuelPHP应用程序中的每个请求.根据FuelPHP,控制器位于 fuel/app/classes/controller/.让我们首先创建一个员工控制器.

employee.php

控制器方法

控制器使用以下方法之一处理Web请求它的动作 _方法.我们可以根据应用程序的要求创建尽可能多的 action _ 方法.默认的 action _ 方法是 action_index . action_index 方法可以通过以下任何一个URL调用.

http://localhost:8080/employee/indexhttp://localhost:8080/employee/

结果

员工控制器

让我们在我们的工作中创建一个新的动作方法, action_show 员工申请.

action_show 方法可以使用以下网址调用.

http://localhost:8080/home/show

结果

Show Method

before()方法

我们可以在控制器中创建一个之前的方法.此方法将在每次 action _ 方法调用之前执行.如果该方法不存在,则不会调用它.这种方法可以帮助我们编写常见的操作,例如登录检查,默认数据提取等.

让我们创建一个之前的方法并打印一条简单的文本消息./p>

  public function before(){ echo"此消息来自< em> before()方法
"中; }

行动前的索引页

操作前索引

显示操作前的页面

行动前显示

之后()方法

之后()方法类似于之前() 方法,但在调用 action _ 方法后执行. after()方法将 response 作为输入并返回响应对象.

 公共函数response_status); } 返回$ response; }

如果输入为NULL或不是响应对象,则使用Response的伪造方法创建新的 Response 对象并返回它.我们将在后续章节中详细介绍Response类.

扩展控制器

我们可以从另一个控制器扩展一个控制器.以下是基本语法.

public function after($response) {    if ( ! $response instanceof Response) {       $response = \Response::forge($response, $this->response_status);    }    return $response; }

这将有助于共享方法.

生成控制器

Fuel可以选择生成控制器使用Oil命令.以下是语法.

语法

oil g controller 

示例

oil g controller sample

执行上述命令后,您将看到以下响应.

结果

Creating view: /path/to/project/fuel/app/views/template.php Creating view: /path/to/project/fuel/app/views/sample/index.php Creating controller: /path/to/project/fuel/app/classes/controller/sample.php

控制器类型

FuelPHP为各种目的提供不同类型的控制器.它们如下&&;

  • 基本控制器

  • 模板控制器

  • 休息控制器

  • 混合控制器

基本控制器

Controller是FuelPHP中所有不同类型控制器的基本控制器.它提供了处理Web请求所需的所有基本功能.它支持请求,响应,会话等.除非另有说明,否则我们将在所有示例中使用它.

模板控制器

模板控制器是基本控制器的扩展.它具有模板支持,预定义的before()和after()方法.基本上,它可以用于将视图包装在带有页眉,页脚,侧边栏等的布局中.要创建模板控制器,我们需要扩展 Controller_Template 类.默认情况下,扩展 Controller_Template 的类的所有方法都需要使用模板.

定义如下.

class Controller_Employee extends Controller_Template {    public function action_index() {       // add methods    } }

我们将在视图章节中讨论有关模板控制器的更多信息.

Rest Controller

A Rest Controller是基本控制器的扩展.它具有预定义的REST API编程支持.这将允许您轻松构建API.

要创建休止控制器,您需要扩展 Controller_Rest 类.它的定义如下.

class Controller_Employee extends Controller_Rest {    public function action_index() {       // add methods    } }

我们将在Ajax章节中讨论有关rest控制器的更多信息.

混合控制器

混合控制器在单个基本控制器中执行REST控制器和模板控制器的功能.