php框架定义,定义 · HFPHP 框架文档 · 看云

# 控制器定义

首先找到我们要操作的模块 在模块下找到相应的 Controller 目录 创建一个你控制器的名称 所有控制器名称全部首大写。

示例目录:App\Src\Lib\App\Home

控制器我们定义了前后置及当前前后置方法,如果没有需要,可以不用写前后置方法

### 1.创建文件

~~~

vi Index.php

~~~

### 2.空间命名

注意入口文件定义的 TOP_NAME 常量 如果你入口定义的 TOP_NAME 值为 APP 那么你创建命名空间如下

~~~

namespace App\Home\Controller;

~~~

### 3.创建类

类名首字母大写 继承 use HF\Core\Controller;

~~~

class Index extends Controller {

}

~~~

### 4.创建访问方法

所有外部访问方法必须前置添加 action 前小后大的驼峰写法 外部访问地址 home/index/mail

~~~

public function actionMail() {

}

~~~

### 5.创建内置方法(外部无法访问)

所有内部方法均不添加action

~~~

public function mail() {

}

~~~

### 6.默认前置方法

前置方法是为了在访问此方法之前操作一些想要操作的事情

~~~

public function _beforeHandle() {

//继承父类 _beforeHandle();

parent::_beforeHandle();

//做你该做的事

}

~~~

### 7.默认后置方法

后置方法是为了在访问完主体方法后的一些操作

~~~

public function _afterHandle() {

//继承父类 _afterHandle();

parent::_afterHandle();

//做你该做的事

}

~~~

### 8.当前方法前置方法

当前前置方法意思是你访问某个方法前将要执行的方法,此方法不是 _beforeHandle() 方法,比如你访问 Index 方法,且有额外定义了一个此方法的前置方法 ,那么在访问Index 方法前将执行 此方法专属的前置方法

~~~

//定义一个Db的专属于前置方法

public function _beforeDb() {

echo 1;

}

//定义一个普通外部Db方法

public function actionDb() {

echo 2;

}

~~~

外部访问 home/index/db 将输出 1 2;

### 9.当前方法后置方法

当前前置方法意思是你访问某个方法之后将要执行的方法,此方法不是 _afterHandle() 方法,比如你访问 Index 方法,且有额外定义了一个此方法的后置方法 ,那么在访问Index 方法完成后将执行 此方法专属的后置方法

~~~

//定义一个普通外部Db方法

public function actionDb() {

echo 2;

}

//定义一个Db的专属于后置方法

public function _afterDb() {

echo 3;

}

~~~

外部访问 home/index/db 将输出 2 3;

### 10.一个完整的类方法

~~~

namespace App\Home\Controller;

use HF\Core\Controller;

class Index extends Controller {

//默认前置方法

publice function _beforeHandl() {

parent::_beforeHandle();

}

//主体前置方法

publice function _beforeIndex(){

}

//主体方法

publice function actionIndex() {

}

//非外部访问方法

publice function default() {

}

//主体后置方法

publice function _afterIndex(){

}

//默认后置方法

publice function _afterHandl() {

parent::_afterHandle();

}

}

~~~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值