数据库 - Model 前置说明
官方开源项目 抓取代理IP

介绍

HTTP控制器中,如果需要使用视图组件,则必须继承x\controller\Http基类控制器。

SW-X中的视图文件,统一存放在/app/view目录下,该路径可以在/config/view.php配置文件中进行修改,需要注意路径末尾不能带/符号。

渲染视图

依赖类:\x\controller\Http
方法名:display()

参数:

  • string $path

    • 功能:视图模板路由地址,不需要带后缀
    • 值单位:字符串
    • 默认值:当前路由地址,非必填
    • 其它值:无
  • array $data

    • 功能:模板变量
    • 值单位:多维数组
    • 默认值[],非必填
    • 其它值:无

返回值:bool

使用示例:

namespace app\http;
// 控制器系统基类
use x\controller\Http;

class Index extends Http
{
    /**
     * @RequestMapping(route="/test/demo", method="get", title="我是路由定义注解")
    */
    public function index() {
        
        // 渲染视图文件
        return $this->display();
        // 视图文件就是:/app/view/test/demo.html
    }
}

获取渲染后的视图内容

有时候当我们不需要输出视图内容,而是只获取渲染后的html代码,那就要用到view()方法。

依赖类:\x\controller\Http
方法名:view()

参数:

  • string $path

    • 功能:视图模板路由地址,不需要带后缀
    • 值单位:字符串
    • 默认值:当前路由地址,非必填
    • 其它值:无
  • array $data

    • 功能:模板变量
    • 值单位:多维数组
    • 默认值[],非必填
    • 其它值:无

返回值:string

使用示例:

namespace app\http;
// 控制器系统基类
use x\controller\Http;

class Index extends Http
{
    /**
     * @RequestMapping(route="/test/demo", method="get", title="我是路由定义注解")
    */
    public function index() {
        
        // 只获得渲染后的视图内容
        $html = $this->view();
        // 渲染的视图文件是:/app/view/test/demo.html
    }
}

默认的视图配置

路径在/config/view.php

return [
    // 模板引擎类型 仅支持 SwooleX 支持扩展
    'type'         => 'SwooleX',
    // 默认模板渲染规则 1 解析为小写+下划线 2 全部转换小写 3 保持操作方法
    'auto_rule'    => 1,
    // 模板路径
    'view_path'    => APP_PATH.'view',
    // 模板后缀
    'view_suffix'  => 'html',
    // 模板文件名分隔符
    'view_depr'    => DIRECTORY_SEPARATOR,
    // 模板引擎普通标签开始标记
    'tpl_begin'    => '{',
    // 模板引擎普通标签结束标记
    'tpl_end'      => '}',
    // 标签库标签开始标记
    'taglib_begin' => '{',
    // 标签库标签结束标记
    'taglib_end'   => '}',
    // 布局模板开关
    'layout_on'    => false,
    // 布局模板入口文件
    'layout_name'  => 'layout',
    // 布局模板的内容替换标识
    'layout_item'  => '{__CONTENT__}',
    // 分页配置参数
    'paginate'     => [
        // 分页样式类
        'type'     => '\x\page\Bootstrap',
        // 分页变量参数
        'var_page' => 'page',
        // 分页URL参数
        'query'    => [],
        // 分页锚点参数
        'fragment' => '',
    ],
    // HTTP控制器fetch时默认的响应headers
    'http_response_headers' => [
        'Content-type' => 'text/html; charset=utf-8'
    ],
    // 模板替换 - 可看做模板常量
    'tpl_replace_string'  =>  [
        '__PUBLIC__' => 'http://IP:端口/静态文件地址',
    ]
];

SW-X

企业级 - 高性能 PHP 框架

最后更新:3年前 . 作者-小黄牛

本篇目录