首页MVC 核心WebCore 响应组装
WebCore 响应组装
bindAction / setLayout / returnLayout / setHead / flush 输出链路
本页内容
  1. bindAction
  2. setLayout 规则
  3. returnLayout
  4. 注意事项

bindAction

接收控制器返回值({layout, stream} 数组),setLayout($config[layout]) 设置 layout 开关,$this->stream = $config[stream] 保存输出流。这是 render 系列方法返回的数组格式。

setLayout 规则

入参行为
true(bool)__layout_status = true(用已有 __layout_id)
false(bool)__layout_status = false(禁用 layout)
非空字符串status=true 且 __layout_id = 路径
空串status=false

returnLayout

__layout_status 为 true 时:用 File 读取 layout 模板文件(不存在则原样返回 stream),把视图参数 + _CONTENT_(当前内容)作为模板参数渲染,返回包裹后的完整 HTML。

输出链
// running() 末尾
$this->__response->setHead($this->__heads);   // 控制器设置的响应头
$this->__response->setStream($stream);        // 最终 HTML
$this->__response->flush();                   // 发头 + 输出 + 钩子 + exit

注意事项

render() 返回 layout:true 但只有调用过 layout()/setLayout 后才真正包裹;renderPartial/renderText 返回 layout:false 强制不包裹。见 C 部分与常见坑章节。
KuoqiPHP v1.05 · 离线静态文档 · 界面基于 KuoqiUI · 返回首页