shi-tu.md 1.4 KB

视图

命名约定
view root/ //view目录
└── controller // 控制器文件夹
    └── action.html // 对应方法的模板文件
模板使用

需要使用模板渲染的控制器需要构造方法调用父类构造方法启动(默认关闭),框架使用的是原生PHP做模板引擎。

实例:

class FooController extends BaseController {
    public function __construct() {
        parent::__construct(true); // 开启模板
    }

    public function actionBar($args) {
        $rules = [
            'name' => ['string', 'desc' => '昵称'],
        ];
        Param::checkParam2($rules, $args);

        $this->tpl->assign(['nicknam' => $args['name']); // 注册变量
        $this->tpl->display('foo/bar'); // 渲染模板
    }
}
<!-- view/foo/bar.html -->

<html>
    <body>
    <p><?=$nickname;?></p>
    </body>
</html>
输出JSON数据

框架为接口方法提供了Response统一标准输出;同时封装了log上报,debug信息打印,CORS设置;并且Response操作会结束程序运行,注意使用。

示例:

$data = ['id' => 123];
Response::success($data);
// output:
// {"result":1,"code":0,"msg":"成功","data":{"id":123}}

Response::error(CODE_NORMAL_ERROR, '获取数据失败'); 
// CODE_NORMAL_ERROR 定义在名字服务 code 的错误码常量
// output:
// {"result":0,"code":-9,"msg":"获取数据失败"}