CakePHP
  • 文档
    • 书籍
    • API
    • 视频
    • 报告安全问题
    • 隐私政策
    • 标识和商标
  • 商业解决方案
  • 纪念品
  • 自驾游
  • 团队
  • 社区
    • 社区
    • 参与其中
    • 问题 (Github)
    • 烘焙坊
    • 特色资源
    • 培训
    • 聚会
    • 我的 CakePHP
    • CakeFest
    • 时事通讯
    • 领英
    • YouTube
    • 脸书
    • 推特
    • Mastodon
    • 帮助与支持
    • 论坛
    • Stack Overflow
    • IRC
    • Slack
    • 付费支持
CakePHP

C CakePHP 5.1 Chiffon API

  • 项目
    • CakePHP
      • CakePHP
      • Chronos
      • Elastic Search
      • 队列
  • 版本
    • 5.1
      • 5.1
      • 5.0
      • 4.5
      • 4.4
      • 4.3
      • 4.2
      • 4.1
      • 4.0
      • 3.10
      • 3.9
      • 3.8
      • 3.7
      • 3.6
      • 3.5
      • 3.4
      • 3.3
      • 3.2
      • 3.1
      • 3.0
      • 2.10
      • 2.9
      • 2.8
      • 2.7
      • 2.6
      • 2.5
      • 2.4
      • 2.3
      • 2.2
      • 2.1
      • 2.0
      • 1.3
      • 1.2

命名空间

  • 全局
  • Cake
    • 缓存
    • 集合
    • 命令
    • 控制台
    • 控制器
    • 核心
    • 数据库
    • 数据源
    • 错误
    • 事件
    • 表单
    • HTTP
    • 国际化
    • 日志
    • 邮件
    • 网络
    • ORM
    • 路由
    • 测试套件
    • 工具
    • 验证
    • 视图
      • 异常
      • 表单
      • 助手
      • 小部件

类 JsonView

用于 JSON 响应的视图类。

它允许您省略模板,如果您只需要发出 JSON 字符串作为响应。

在您的控制器中,您可以执行以下操作

$this->set(['posts' => $posts]);
$this->viewBuilder()->setOption('serialize', true);

当视图渲染时,$posts 视图变量将被序列化为 JSON。

您还可以设置多个视图变量进行序列化。这将创建一个包含所有命名视图变量的顶级对象

$this->set(compact('posts', 'users', 'stuff'));
$this->viewBuilder()->setOption('serialize', true);

以上将生成一个看起来像这样的 JSON 对象

{"posts": [...], "users": [...]}

您还可以将 'serialize' 设置为字符串或数组以仅序列化指定的视图变量。

如果您没有设置 serialize 选项,您将需要一个视图模板。您可以使用扩展视图来提供类似于布局的功能。

您还可以通过将 jsonp 选项设置为 true 或字符串来启用 JSONP 支持,以指定包含回调函数名称的自定义查询字符串参数名称。

命名空间: Cake\View

常量

  • 字符串
    NAME_TEMPLATE ¶
    'templates'

    用于 App::path() 的类型的常量。

  • 字符串
    PLUGIN_TEMPLATE_FOLDER ¶
    'plugin'

    包含用于覆盖插件模板的文件的文件夹名称的常量。

  • 字符串
    TYPE_ELEMENT ¶
    'element'

    视图文件类型 'element' 的常量

  • 字符串
    TYPE_LAYOUT ¶
    'layout'

    视图文件类型 'layout' 的常量

  • 字符串
    TYPE_MATCH_ALL ¶
    '_match_all_'

    视图可以使用的神奇 'match-all' 内容类型,以便在内容类型协商期间充当回退。

  • 字符串
    TYPE_TEMPLATE ¶
    'template'

    视图文件类型 'template' 的常量。

属性摘要

  • $Blocks public @property
    Cake\View\ViewBlock
  • $Breadcrumbs public @property
    Cake\View\Helper\BreadcrumbsHelper
  • $Flash public @property
    Cake\View\Helper\FlashHelper
  • $Form public @property
    Cake\View\Helper\FormHelper
  • $Html public @property
    Cake\View\Helper\HtmlHelper
  • $Number public @property
    Cake\View\Helper\NumberHelper
  • $Paginator public @property
    Cake\View\Helper\PaginatorHelper
  • $Text public @property
    Cake\View\Helper\TextHelper
  • $Time public @property
    Cake\View\Helper\TimeHelper
  • $Url public @property
    Cake\View\Helper\UrlHelper
  • $_config protected
    array<string, mixed>

    运行时配置

  • $_configInitialized protected
    bool

    配置属性是否已使用默认值进行配置

  • $_current protected
    字符串

    当前正在渲染的视图文件。用于解析父文件。

  • $_currentType protected
    字符串

    当前正在渲染元素。用于为元素查找父片段。

  • $_defaultConfig protected
    array<string, mixed>

    默认配置选项。

  • $_eventClass protected
    字符串

    新事件对象的默认类名。

  • $_eventManager protected
    Cake\Event\EventManagerInterface|null

    此对象用于调度内部事件的 Cake\Event\EventManager 的实例。

  • $_ext protected
    字符串

    文件扩展名。默认为 ".php"。

  • $_helpers protected
    Cake\View\HelperRegistry|null

    助手集合

  • $_parents protected
    array<string, string>

    与 View::extend(); 一起使用的视图及其父级的名称。

  • $_passedVars protected
    list<string>

    要从关联控制器收集的变量列表。

  • $_paths protected
    list<string>

    保存路径数组。

  • $_pathsForPlugin protected
    array<string, list<string>>

    保存插件路径数组。

  • $_stack protected
    list<string>

    内容堆栈,用于所有使用 View::extend(); 的嵌套模板。

  • $_viewBlockClass protected
    字符串

    ViewBlock 类。

  • $autoLayout protected
    bool

    启用或禁用 CakePHP 的应用布局文件的常规模式。默认情况下启用。设置为 off 表示布局不会自动应用于渲染的模板。

  • $elementCache protected
    字符串

    视图将用于存储缓存元素的缓存配置。更改此配置将更改元素存储的默认配置。您也可以为每个元素选择缓存配置。

  • $helpers protected
    array<string, array<string, mixed>>

    要加载的助手的配置数组。

  • $layout protected
    字符串

    要渲染模板的布局文件的名称。指定的名称是 templates/layout/ 中的布局文件名,不带 .php 扩展名。

  • $layoutPath protected
    字符串

    JSON 布局位于 Layouts/ 的 JSON 子目录中

  • $name protected
    字符串

    创建视图(如果有)的控制器的名称。

  • $plugin protected
    string|null

    插件的名称。

  • $request protected
    Cake\Http\ServerRequest

    包含有关当前请求的信息的 \Cake\Http\ServerRequest 对象的实例。此对象包含有关请求的所有信息,以及用于读取有关请求的更多信息的几种方法。

  • $response protected
    Cake\Http\Response

    对响应对象的引用

  • $subDir protected
    字符串

    JSON 视图位于控制器的视图的 'json' 子目录中。

  • $template protected
    字符串

    要渲染的模板文件的名称。指定的名称是 templates/<SubFolder>/ 中的文件名,不带 .php 扩展名。

  • $templatePath protected
    字符串

    包含此视图模板的子文件夹名称。

  • $theme 受保护
    string|null

    要使用的视图主题。

  • $viewVars 受保护
    array<string, mixed>

    变量数组

方法摘要

  • __construct() 公共

    构造函数

  • __get() 公共

    助手对象的魔术访问器。

  • _checkFilePath() 受保护

    检查视图文件路径是否超出定义的模板路径。

  • _configDelete() 受保护

    删除单个配置键。

  • _configRead() 受保护

    读取配置键。

  • _configWrite() 受保护

    写入配置键。

  • _createCell() 受保护

    创建并配置单元实例。

  • _dataToSerialize() 受保护

    返回要序列化的数据。

  • _elementCache() 受保护

    为元素生成缓存配置选项。

  • _evaluate() 受保护

    沙盒方法,用于评估模板/视图脚本。

  • _getElementFileName() 受保护

    查找元素文件名,如果失败则返回false。

  • _getLayoutFileName() 受保护

    返回此模板的布局文件名,以字符串形式表示。

  • _getSubPaths() 受保护

    查找所有子模板路径,基于 $basePath。如果当前请求中定义了前缀,则此方法会将带前缀的模板路径添加到 $basePath 的前面,在嵌套的情况下级联。这基本上用于查找元素和布局的带前缀的模板路径。

  • _getTemplateFileName() 受保护

    返回给定操作的模板文件名,以字符串形式表示。默认情况下,驼峰式操作名称将被转换为下划线分隔的名称。这意味着您可以使用 LongActionNames,它对应于 long_action_names.php 模板。您可以通过覆盖 _inflectTemplateFileName 来更改词形变化规则。

  • _inflectTemplateFileName() 受保护

    将视图模板文件名称更改为下划线分隔的格式。

  • _paths() 受保护

    按顺序返回查找视图文件的所有可能路径。

  • _render() 受保护

    呈现并返回给定模板文件及其数据数组的输出。处理父/扩展模板。

  • _renderElement() 受保护

    呈现元素,并触发其 before 和 afterRender 回调,如果使用缓存,则写入缓存。

  • _serialize() 受保护

    序列化视图变量。

  • addHelper() 受保护

    在 initialize() 方法中添加助手。

  • append() 公共

    附加到现有或新的块。

  • assign() 公共

    设置块的内容。这将覆盖任何现有内容。

  • blocks() 公共

    获取所有现有块的名称。

  • cache() 公共

    创建缓存的视图逻辑块。

  • cell() 受保护

    呈现给定的单元。

  • configShallow() 公共

    将提供的配置与现有配置合并。与 config() 对嵌套键进行递归合并不同,此方法进行简单合并。

  • contentType() 公共 静态

    此视图类呈现的 MIME 类型。

  • disableAutoLayout() 公共

    关闭 CakePHP 的布局文件应用的传统模式。布局不会自动应用于呈现的视图。

  • dispatchEvent() 公共

    创建和分派事件的包装器。

  • element() 公共

    使用提供的参数呈现一段 PHP 并返回 HTML、XML 或任何其他字符串。

  • elementExists() 公共

    检查元素是否存在。

  • enableAutoLayout() 公共

    启用或禁用 CakePHP 的布局文件应用的传统模式。默认情况下启用。设置为关闭意味着布局不会自动应用于呈现的视图。

  • end() 公共

    结束捕获块。View::start() 的补充。

  • exists() 公共

    检查块是否存在。

  • extend() 公共

    提供模板或元素扩展/继承。模板可以扩展父模板并在父模板中填充块。

  • fetch() 公共

    获取块的内容。如果块为空或未定义,将返回 ''。

  • get() 公共

    返回给定视图变量的内容。

  • getConfig() 公共

    返回配置。

  • getConfigOrFail() 公共

    返回此特定键的配置。

  • getCurrentType() 公共

    检索当前模板类型。

  • getElementPaths() 受保护

    获取元素路径的迭代器。

  • getEventManager() 公共

    返回此对象的 Cake\Event\EventManager 管理器实例。

  • getLayout() 公共

    获取布局文件名称,以在其中呈现模板。指定的名称是 templates/layout/ 中布局的文件名,不带 .php 扩展名。

  • getLayoutPath() 公共

    获取布局文件的路径。

  • getLayoutPaths() 受保护

    获取布局路径的迭代器。

  • getName() 公共

    返回视图的控制器名称。

  • getPlugin() 公共

    返回插件名称。

  • getRequest() 公共

    获取请求实例。

  • getResponse() 公共

    获取响应实例。

  • getSubDir() 公共

    获取此模板文件的子目录。

  • getTemplate() 公共

    获取要呈现的模板文件名称。指定的名称是 templates/<SubFolder>/ 中的文件名,不带 .php 扩展名。

  • getTemplatePath() 公共

    获取模板文件的路径。

  • getTheme() 公共

    获取当前视图主题。

  • getVars() 公共

    返回当前视图上下文中可用的变量列表。

  • helpers() 公共

    获取此视图类使用的助手注册表。

  • initialize() 公共

    初始化钩子方法。

  • isAutoLayoutEnabled() 公共

    返回 CakePHP 的布局文件应用的传统模式是否已启用。禁用意味着布局不会自动应用于呈现的视图。

  • loadHelper() 公共

    加载助手。委托给 HelperRegistry::load() 加载助手。

  • loadHelpers() 公共

    仅当序列化已禁用时加载助手。

  • log() 公共

    将消息写入日志的便捷方法。有关写入日志的更多信息,请参阅 Log::write()。

  • pluginSplit() 公共

    将点语法插件名称拆分为其插件和文件名。如果 $name 没有点,则索引 0 将为 null。它检查插件是否已加载,否则文件名将保持不变,因为文件名包含点。

  • prepend() 公共

    附加到现有或新的块。

  • render() 公共

    呈现 JSON 视图。

  • renderLayout() 公共

    呈现布局。返回 _render() 的输出。

  • reset() 公共

    重置块的内容。这将覆盖任何现有内容。

  • serializeKeys() 受保护
  • set() 公共

    保存变量或关联变量数组以供模板内使用。

  • setConfig() 公共

    设置配置。

  • setContentType() 受保护

    根据视图的 contentType() 设置响应的 content-type。

  • setElementCache() 公共

    设置 View 用于存储缓存元素的缓存配置。

  • setEventManager() 公共

    返回此对象的 Cake\Event\EventManagerInterface 实例。

  • setLayout() 公共

    设置布局文件名称,以在其中呈现模板。指定的名称是 templates/layout/ 中布局的文件名,不带 .php 扩展名。

  • setLayoutPath() 公共

    设置布局文件的路径。

  • setPlugin() 公共

    设置插件名称。

  • setRequest() 公共

    设置请求对象,并根据请求内容配置许多控制器属性。设置的属性是

  • setResponse() 公共

    设置响应实例。

  • setSubDir() 公共

    设置此模板文件的子目录。

  • setTemplate() 公共

    设置要呈现的模板文件名称。指定的名称是 templates/<SubFolder>/ 中的文件名,不带 .php 扩展名。

  • setTemplatePath() 公共

    设置模板文件路径。

  • setTheme() public

    设置要使用的视图主题。

  • start() public

    开始为“块”捕获输出。

方法详细说明

__construct() ¶ public

__construct(Cake\Http\ServerRequest|null $request = null, Cake\Http\Response|null $response = null, Cake\Event\EventManagerInterface|null $eventManager = null, array<string, mixed> $viewOptions = [])

构造函数

参数
Cake\Http\ServerRequest|null $request 可选

请求实例。

Cake\Http\Response|null $response 可选

响应实例。

Cake\Event\EventManagerInterface|null $eventManager 可选

事件管理器实例。

array<string, mixed> $viewOptions 可选

视图选项。有关设置为类属性的选项列表,请参阅 {@link View::$_passedVars}。

__get() ¶ public

__get(string $name): Cake\View\Helper|null

助手对象的魔术访问器。

参数
string $name

要获取的属性名称。

返回值
Cake\View\Helper|null

_checkFilePath() ¶ protected

_checkFilePath(string $file, string $path): string

检查视图文件路径是否超出定义的模板路径。

只有包含 .. 的路径才会被检查,因为它们最有可能解析到模板路径之外的文件。

参数
string $file

模板文件的路径。

string $path

$file 应该位于其中的基本路径。

返回值
字符串
抛出
InvalidArgumentException

_configDelete() ¶ protected

_configDelete(string $key): void

删除单个配置键。

参数
string $key

要删除的键。

返回值
void
抛出
Cake\Core\Exception\CakeException
如果尝试覆盖现有的配置

_configRead() ¶ protected

_configRead(string|null $key): mixed

读取配置键。

参数
string|null $key

要读取的键。

返回值
mixed

_configWrite() ¶ protected

_configWrite(array<string, mixed>|string $key, mixed $value, string|bool $merge = false): void

写入配置键。

参数
array<string, mixed>|string $key

要写入的键。

mixed $value

要写入的值。

string|bool $merge 可选

True 表示递归合并,'shallow' 表示简单合并,false 表示覆盖,默认值为 false。

返回值
void
抛出
Cake\Core\Exception\CakeException
如果尝试覆盖现有的配置

_createCell() ¶ protected

_createCell(string $className, string $action, string|null $plugin, array<string, mixed> $options): Cake\View\Cell

创建并配置单元实例。

参数
string $className

单元格类名。

string $action

操作名称。

string|null $plugin

插件名称。

array<string, mixed> $options

单元格的构造函数选项。

返回值
Cake\View\Cell

_dataToSerialize() ¶ protected

_dataToSerialize(array|string $serialize): mixed

返回要序列化的数据。

参数
array|string $serialize

需要序列化到的视图变量的名称。

返回值
mixed

_elementCache() ¶ protected

_elementCache(string $name, array $data, array<string, mixed> $options): array<string, mixed>

为元素生成缓存配置选项。

参数
string $name

元素名称

array $data

数据

array<string, mixed> $options

元素选项

返回值
array<string, mixed>

_evaluate() ¶ protected

_evaluate(string $templateFile, array $dataForView): string

沙盒方法,用于评估模板/视图脚本。

参数
string $templateFile

模板的文件名。

array $dataForView

要包含在渲染视图中的数据。

返回值
字符串

_getElementFileName() ¶ protected

_getElementFileName(string $name, bool $pluginCheck = true): string|false

查找元素文件名,如果失败则返回false。

参数
string $name

要查找的元素名称。

bool $pluginCheck 可选
  • 如果为 false,则将忽略请求的插件(如果解析的插件未加载)
返回值
string|false

_getLayoutFileName() ¶ protected

_getLayoutFileName(string|null $name = null): string

返回此模板的布局文件名,以字符串形式表示。

参数
string|null $name 可选

要查找的布局名称。

返回值
字符串
抛出
Cake\View\Exception\MissingLayoutException
当找不到布局时
Cake\Core\Exception\CakeException

_getSubPaths() ¶ protected

_getSubPaths(string $basePath): list<string>

查找所有子模板路径,基于 $basePath。如果当前请求中定义了前缀,则此方法会将带前缀的模板路径添加到 $basePath 的前面,在嵌套的情况下级联。这基本上用于查找元素和布局的带前缀的模板路径。

参数
string $basePath

要获取带前缀的基本路径。

返回值
list<string>

_getTemplateFileName() ¶ protected

_getTemplateFileName(string|null $name = null): string

返回给定操作的模板文件名,以字符串形式表示。默认情况下,驼峰式操作名称将被转换为下划线分隔的名称。这意味着您可以使用 LongActionNames,它对应于 long_action_names.php 模板。您可以通过覆盖 _inflectTemplateFileName 来更改词形变化规则。

参数
string|null $name 可选

要查找模板文件名的控制器操作

返回值
字符串
抛出
Cake\View\Exception\MissingTemplateException
当找不到模板文件时。
Cake\Core\Exception\CakeException
当未提供模板名称时。

_inflectTemplateFileName() ¶ protected

_inflectTemplateFileName(string $name): string

将视图模板文件名称更改为下划线分隔的格式。

参数
string $name

应该进行词形变化的文件名称。

返回值
字符串

_paths() ¶ protected

_paths(string|null $plugin = null, bool $cached = true): list<string>

按顺序返回查找视图文件的所有可能路径。

参数
string|null $plugin 可选

可选的插件名称,用于扫描视图文件。

bool $cached 可选

设置为 false 以强制刷新视图路径。默认值为 true。

返回值
list<string>

_render() ¶ protected

_render(string $templateFile, array $data = []): string

呈现并返回给定模板文件及其数据数组的输出。处理父/扩展模板。

参数
string $templateFile

模板的文件名

array $data 可选

要包含在渲染视图中的数据。如果为空,将使用当前 View::$viewVars。

返回值
字符串
抛出
LogicException
当块保持打开状态时。

_renderElement() ¶ protected

_renderElement(string $file, array $data, array<string, mixed> $options): string

呈现元素,并触发其 before 和 afterRender 回调,如果使用缓存,则写入缓存。

参数
string $file

元素文件路径

array $data

要渲染的数据

array<string, mixed> $options

元素选项

返回值
字符串

_serialize() ¶ protected

_serialize(array|string $serialize): string

序列化视图变量。

参数
array|string $serialize
返回值
字符串

addHelper() ¶ protected

addHelper(string $helper, array<string, mixed> $config = []): void

在 initialize() 方法中添加助手。

参数
string $helper

帮助器。

array<string, mixed> $config 可选

配置。

返回值
void

append() ¶ public

append(string $name, mixed $value = null): $this

附加到现有或新的块。

追加到新块将创建该块。

参数
string $name

块的名称

mixed $value 可选

块的内容。值将被类型转换为字符串。

返回值
$this
另请参阅
\Cake\View\ViewBlock::concat()

assign() ¶ public

assign(string $name, mixed $value): $this

设置块的内容。这将覆盖任何现有内容。

参数
string $name

块的名称

mixed $value

块的内容。值将被类型转换为字符串。

返回值
$this
另请参阅
\Cake\View\ViewBlock::set()

blocks() ¶ public

blocks(): list<string>

获取所有现有块的名称。

返回值
list<string>
另请参阅
\Cake\View\ViewBlock::keys()

cache() ¶ public

cache(callable $block, array<string, mixed> $options = []): string

创建缓存的视图逻辑块。

这使您可以将一段视图输出缓存到 elementCache 中定义的缓存中。

此方法将首先尝试读取缓存。如果缓存为空,则将运行 $block,并将输出存储起来。

参数
callable $block

要缓存输出的代码块。

array<string, mixed> $options 可选

定义缓存键等的选项。

返回值
字符串
抛出
InvalidArgumentException
当 $options 缺少 'key' 选项时。

cell() ¶ protected

cell(string $cell, array $data = [], array<string, mixed> $options = []): Cake\View\Cell

呈现给定的单元。

示例

// Taxonomy\View\Cell\TagCloudCell::smallList()
$cell = $this->cell('Taxonomy.TagCloud::smallList', ['limit' => 10]);

// App\View\Cell\TagCloudCell::smallList()
$cell = $this->cell('TagCloud::smallList', ['limit' => 10]);

当没有提供操作时,默认情况下将使用 display 操作。

// Taxonomy\View\Cell\TagCloudCell::display()
$cell = $this->cell('Taxonomy.TagCloud');

单元格只有在被回显后才会被渲染。

参数
string $cell

您必须指定单元格名称,并可选地指定单元格操作。例如:TagCloud::smallList 将调用 View\Cell\TagCloudCell::smallList(),默认情况下将调用 display 操作(如果没有提供操作)。

array $data 可选

单元方法的附加参数。例如:cell('TagCloud::smallList', ['a1' => 'v1', 'a2' => 'v2']) 映射到 View\Cell\TagCloud::smallList(v1, v2)

array<string, mixed> $options 可选

单元构造函数的选项

返回值
Cake\View\Cell
抛出
Cake\View\Exception\MissingCellException
如果未找到单元类。

configShallow() ¶ public

configShallow(array<string, mixed>|string $key, mixed|null $value = null): $this

将提供的配置与现有配置合并。与 config() 对嵌套键进行递归合并不同,此方法进行简单合并。

设置特定值

$this->configShallow('key', $value);

设置嵌套值

$this->configShallow('some.nested.key', $value);

同时更新多个配置设置

$this->configShallow(['one' => 'value', 'another' => 'value']);
参数
array<string, mixed>|string $key

要设置的键,或完整的配置数组。

mixed|null $value optional

要设置的值。

返回值
$this

contentType() ¶ public static

contentType(): string

此视图类呈现的 MIME 类型。

返回值
字符串

disableAutoLayout() ¶ public

disableAutoLayout(): $this

关闭 CakePHP 的布局文件应用的传统模式。布局不会自动应用于呈现的视图。

返回值
$this

dispatchEvent() ¶ public

dispatchEvent(string $name, array $data = [], TSubject|null $subject = null): Cake\Event\EventInterface<TSubject>

创建和分派事件的包装器。

返回一个分派的事件。

参数
string $name

事件的名称。

array $data 可选

任何您希望与该事件一起传输的值,都可以被监听器读取。

TSubject|null $subject optional

此事件适用的对象(默认情况下为 $this)。

返回值
Cake\Event\EventInterface<TSubject>

element() ¶ public

element(string $name, array $data = [], array<string, mixed> $options = []): string

使用提供的参数呈现一段 PHP 并返回 HTML、XML 或任何其他字符串。

这实现了元素(或“部分布局”)的概念,$params 数组用于发送要用于该元素的数据。元素可以被缓存,通过使用 cache 选项来提高性能。

参数
string $name

templates/element/ 文件夹中模板文件的名称,或 MyPlugin.template 用于使用来自 MyPlugin 的模板元素。如果在插件中找不到元素,将搜索正常的视图路径级联。

array $data 可选

要使渲染视图(即元素)可用的数据数组。

array<string, mixed> $options 可选

选项数组。可能的键是

返回值
字符串
抛出
Cake\View\Exception\MissingElementException
当元素丢失并且 `ignoreMissing` 为 false 时。

elementExists() ¶ public

elementExists(string $name): bool

检查元素是否存在。

参数
string $name

templates/element/ 文件夹中模板文件的名称,或 MyPlugin.template 用于检查来自 MyPlugin 的模板元素。如果在插件中找不到元素,将搜索正常的视图路径级联。

返回值
bool

enableAutoLayout() ¶ public

enableAutoLayout(bool $enable = true): $this

启用或禁用 CakePHP 的布局文件应用的传统模式。默认情况下启用。设置为关闭意味着布局不会自动应用于呈现的视图。

参数
bool $enable optional

用于打开/关闭的布尔值。

返回值
$this

end() ¶ public

end(): $this

结束捕获块。View::start() 的补充。

返回值
$this
另请参阅
\Cake\View\ViewBlock::end()

exists() ¶ public

exists(string $name): bool

检查块是否存在。

参数
string $name

块的名称

返回值
bool

extend() ¶ public

extend(string $name): $this

提供模板或元素扩展/继承。模板可以扩展父模板并在父模板中填充块。

参数
string $name

要“扩展”当前模板或元素。

返回值
$this
抛出
LogicException
当您使用自身扩展模板或创建扩展循环时。
LogicException
当您扩展不存在的元素时。

fetch() ¶ public

fetch(string $name, string $default = ''): string

获取块的内容。如果块为空或未定义,将返回 ''。

参数
string $name

块的名称

string $default optional

默认文本

返回值
字符串
另请参阅
\Cake\View\ViewBlock::get()

get() ¶ public

get(string $var, mixed $default = null): mixed

返回给定视图变量的内容。

参数
string $var

您想要其内容的视图变量。

mixed $default optional

$var 的默认/回退内容。

返回值
mixed

getConfig() ¶ public

getConfig(string|null $key = null, mixed $default = null): mixed

返回配置。

用法

读取整个配置

$this->getConfig();

读取特定值

$this->getConfig('key');

读取嵌套值

$this->getConfig('some.nested.key');

使用默认值读取

$this->getConfig('some-key', 'default-value');
参数
string|null $key optional

要获取的键,或整个配置的 null。

mixed $default optional

键不存在时的返回值。

返回值
mixed

getConfigOrFail() ¶ public

getConfigOrFail(string $key): mixed

返回此特定键的配置。

此键的配置值必须存在,永远不能为 null。

参数
string $key

要获取的键。

返回值
mixed
抛出
InvalidArgumentException

getCurrentType() ¶ public

getCurrentType(): string

检索当前模板类型。

返回值
字符串

getElementPaths() ¶ protected

getElementPaths(string|null $plugin): Generator

获取元素路径的迭代器。

参数
string|null $plugin

要获取路径的插件。

返回值
生成器

getEventManager() ¶ public

getEventManager(): Cake\Event\EventManagerInterface

返回此对象的 Cake\Event\EventManager 管理器实例。

您可以使用此实例将任何新的监听器或回调注册到对象事件,或创建您自己的事件并按需触发它们。

返回值
Cake\Event\EventManagerInterface

getLayout() ¶ public

getLayout(): string

获取布局文件名称,以在其中呈现模板。指定的名称是 templates/layout/ 中布局的文件名,不带 .php 扩展名。

返回值
字符串

getLayoutPath() ¶ public

getLayoutPath(): string

获取布局文件的路径。

返回值
字符串

getLayoutPaths() ¶ protected

getLayoutPaths(string|null $plugin): Generator

获取布局路径的迭代器。

参数
string|null $plugin

要获取路径的插件。

返回值
生成器

getName() ¶ public

getName(): string

返回视图的控制器名称。

返回值
字符串

getPlugin() ¶ public

getPlugin(): string|null

返回插件名称。

返回值
string|null

getRequest() ¶ public

getRequest(): Cake\Http\ServerRequest

获取请求实例。

返回值
Cake\Http\ServerRequest

getResponse() ¶ public

getResponse(): Cake\Http\Response

获取响应实例。

返回值
Cake\Http\Response

getSubDir() ¶ public

getSubDir(): string

获取此模板文件的子目录。

返回值
字符串
另请参阅
\Cake\View\View::$subDir

getTemplate() ¶ public

getTemplate(): string

获取要呈现的模板文件名称。指定的名称是 templates/<SubFolder>/ 中的文件名,不带 .php 扩展名。

返回值
字符串

getTemplatePath() ¶ public

getTemplatePath(): string

获取模板文件的路径。

返回值
字符串

getTheme() ¶ public

getTheme(): string|null

获取当前视图主题。

返回值
string|null

getVars() ¶ public

getVars(): list<string>

返回当前视图上下文中可用的变量列表。

返回值
list<string>

helpers() ¶ public

helpers(): Cake\View\HelperRegistry

获取此视图类使用的助手注册表。

返回值
Cake\View\HelperRegistry

initialize() ¶ public

initialize(): void

初始化钩子方法。

像 $helpers 这样的属性无法在您的自定义视图类中静态初始化,因为它们会被来自控制器中的值在构造函数中覆盖。因此,此方法允许您在视图实例构造后按需操作它们。

可以使用 {@link addHelper()} 方法添加助手。

返回值
void

isAutoLayoutEnabled() ¶ public

isAutoLayoutEnabled(): bool

返回 CakePHP 的布局文件应用的传统模式是否已启用。禁用意味着布局不会自动应用于呈现的视图。

返回值
bool

loadHelper() ¶ public

loadHelper(string $name, array<string, mixed> $config = []): Cake\View\Helper

加载助手。委托给 HelperRegistry::load() 加载助手。

您应该使用 addHelper() 而不是来自 AppView 或其他自定义视图类的 initialize() 钩子的此方法。

参数
string $name

要加载的助手的名称。

array<string, mixed> $config 可选

助手的设置

返回值
Cake\View\Helper
另请参阅
\Cake\View\HelperRegistry::load()

loadHelpers() ¶ public

loadHelpers(): $this

仅当序列化已禁用时加载助手。

返回值
$this

log() ¶ public

log(Stringable|string $message, string|int $level = LogLevel::ERROR, array|string $context = []): bool

将消息写入日志的便捷方法。有关写入日志的更多信息,请参阅 Log::write()。

参数
Stringable|string $message

日志消息。

string|int $level 可选

错误级别。

array|string $context 可选

与该消息相关的其他日志数据。

返回值
bool

pluginSplit() ¶ public

pluginSplit(string $name, bool $fallback = true): array

将点语法插件名称拆分为其插件和文件名。如果 $name 没有点,则索引 0 将为 null。它检查插件是否已加载,否则文件名将保持不变,因为文件名包含点。

参数
string $name

要进行插件拆分的名称。

bool $fallback 可选

如果为 true,则在解析的插件未加载时使用当前请求中设置的插件。

返回值
array

prepend() ¶ public

prepend(string $name, mixed $value): $this

附加到现有或新的块。

在新的区块前添加内容将创建该区块。

参数
string $name

块的名称

mixed $value

块的内容。值将被类型转换为字符串。

返回值
$this
另请参阅
\Cake\View\ViewBlock::concat()

render() ¶ public

render(string|null $template = null, string|false|null $layout = null): string

呈现 JSON 视图。

渲染触发辅助函数回调,这些回调在模板渲染前后以及布局渲染前后被调用,调用方式如下:

  • beforeRender
  • afterRender
  • beforeLayout
  • afterLayout

如果 View::$autoLayout 设置为 false,则模板将直接返回。

模板和布局名称可以指向插件模板或布局。使用 Plugin.template 语法,可以选用插件模板/布局/,而不是应用程序模板/布局/。如果找不到选定的插件,则将在常规视图路径级联中查找模板。

参数
string|null $template 可选

正在渲染的模板。

string|false|null $layout 可选

正在渲染的布局。

返回值
字符串

renderLayout() ¶ public

renderLayout(string $content, string|null $layout = null): string

呈现布局。返回 _render() 的输出。

创建了几个变量供布局使用。

参数
string $content

要在一个模板中渲染的内容,包含在周围布局中。

string|null $layout 可选

布局名称

返回值
字符串
抛出
Cake\Core\Exception\CakeException
如果视图中存在错误。

reset() ¶ public

reset(string $name): $this

重置块的内容。这将覆盖任何现有内容。

参数
string $name

块的名称

返回值
$this
另请参阅
\Cake\View\ViewBlock::set()

serializeKeys() ¶ protected

serializeKeys(): array|string|false
返回值
array|string|false

set() ¶ public

set(array|string $name, mixed $value = null): $this

保存变量或关联变量数组以供模板内使用。

参数
array|string $name

一个字符串或一个数据数组。

mixed $value 可选

如果 $name 是一个字符串(则作为键使用),则为该字符串的值。如果 $name 是一个关联数组,则不使用,否则作为 $name 的键的值。

返回值
$this
抛出
Cake\Core\Exception\CakeException
如果数组合并操作失败。

setConfig() ¶ public

setConfig(array<string, mixed>|string $key, mixed|null $value = null, bool $merge = true): $this

设置配置。

用法

设置特定值

$this->setConfig('key', $value);

设置嵌套值

$this->setConfig('some.nested.key', $value);

同时更新多个配置设置

$this->setConfig(['one' => 'value', 'another' => 'value']);
参数
array<string, mixed>|string $key

要设置的键,或完整的配置数组。

mixed|null $value optional

要设置的值。

bool $merge 可选

是否递归合并或覆盖现有配置,默认为 true。

返回值
$this
抛出
Cake\Core\Exception\CakeException
当尝试设置一个无效的键时。

setContentType() ¶ protected

setContentType(): void

根据视图的 contentType() 设置响应的 content-type。

返回值
void

setElementCache() ¶ public

setElementCache(string $elementCache): $this

设置 View 用于存储缓存元素的缓存配置。

参数
string $elementCache

缓存配置名称。

返回值
$this
另请参阅
\Cake\View\View::$elementCache

setEventManager() ¶ public

setEventManager(Cake\Event\EventManagerInterface $eventManager): $this

返回此对象的 Cake\Event\EventManagerInterface 实例。

您可以使用此实例将任何新的监听器或回调注册到对象事件,或创建您自己的事件并按需触发它们。

参数
Cake\Event\EventManagerInterface $eventManager

要设置的事件管理器

返回值
$this

setLayout() ¶ public

setLayout(string $name): $this

设置布局文件名称,以在其中呈现模板。指定的名称是 templates/layout/ 中布局的文件名,不带 .php 扩展名。

参数
string $name

要设置的布局文件名。

返回值
$this

setLayoutPath() ¶ public

setLayoutPath(string $path): $this

设置布局文件的路径。

参数
string $path

布局文件的路径。

返回值
$this

setPlugin() ¶ public

setPlugin(string|null $name): $this

设置插件名称。

参数
string|null $name

插件名称。

返回值
$this

setRequest() ¶ public

setRequest(Cake\Http\ServerRequest $request): $this

设置请求对象,并根据请求内容配置许多控制器属性。设置的属性是

  • $this->request - 到 $request 参数
  • $this->plugin - 到 $request->getParam('plugin') 返回的值
参数
Cake\Http\ServerRequest $request

请求实例。

返回值
$this

setResponse() ¶ public

setResponse(Cake\Http\Response $response): $this

设置响应实例。

参数
Cake\Http\Response $response

响应实例。

返回值
$this

setSubDir() ¶ public

setSubDir(string $subDir): $this

设置此模板文件的子目录。

参数
string $subDir

子目录名称。

返回值
$this
另请参阅
\Cake\View\View::$subDir

setTemplate() ¶ public

setTemplate(string $name): $this

设置要呈现的模板文件名称。指定的名称是 templates/<SubFolder>/ 中的文件名,不带 .php 扩展名。

参数
string $name

要设置的模板文件名。

返回值
$this

setTemplatePath() ¶ public

setTemplatePath(string $path): $this

设置模板文件路径。

参数
string $path

模板文件的路径。

返回值
$this

setTheme() ¶ public

setTheme(string|null $theme): $this

设置要使用的视图主题。

参数
string|null $theme

主题名称。

返回值
$this

start() ¶ public

start(string $name): $this

开始为“块”捕获输出。

您可以在区块上多次使用 start,以便以捕获模式追加或添加内容。

// Append content to an existing block.
$this->start('content');
echo $this->fetch('content');
echo 'Some new content';
$this->end();

// Prepend content to an existing block
$this->start('content');
echo 'Some new content';
echo $this->fetch('content');
$this->end();
参数
string $name

要捕获的区块的名称。

返回值
$this
另请参阅
\Cake\View\ViewBlock::start()

属性详情

$Blocks ¶ public @property

类型
Cake\View\ViewBlock

$Breadcrumbs ¶ public @property

类型
Cake\View\Helper\BreadcrumbsHelper

$Flash ¶ public @property

类型
Cake\View\Helper\FlashHelper

$Form ¶ public @property

类型
Cake\View\Helper\FormHelper

$Html ¶ public @property

类型
Cake\View\Helper\HtmlHelper

$Number ¶ public @property

类型
Cake\View\Helper\NumberHelper

$Paginator ¶ public @property

类型
Cake\View\Helper\PaginatorHelper

$Text ¶ public @property

类型
Cake\View\Helper\TextHelper

$Time ¶ public @property

类型
Cake\View\Helper\TimeHelper

$Url ¶ public @property

类型
Cake\View\Helper\UrlHelper

$_config ¶ protected

运行时配置

类型
array<string, mixed>

$_configInitialized ¶ protected

配置属性是否已使用默认值进行配置

类型
bool

$_current ¶ protected

当前正在渲染的视图文件。用于解析父文件。

类型
字符串

$_currentType ¶ protected

当前正在渲染元素。用于为元素查找父片段。

类型
字符串

$_defaultConfig ¶ protected

默认配置选项。

在控制器中使用 ViewBuilder::setOption()/setOptions() 设置这些选项。

  • serialize: 选项用于将一组视图变量转换为序列化响应。其值可以是单个变量名的字符串或多个变量名的数组。如果为真,则会序列化所有视图变量。如果为 null 或 false,则会渲染正常的视图模板。
  • jsonOptions: `json_encode()` 的选项。例如:JSON_HEX_TAG | JSON_HEX_APOS。
  • jsonp: 启用 JSONP 支持,并使用查询字符串中提供的回调函数包装响应。
    • 将其设置为 true 会启用默认的查询字符串参数“callback”。
    • 将其设置为字符串值,会使用提供的查询字符串参数来查找 JSONP 回调名称。
类型
array<string, mixed>

$_eventClass ¶ protected

新事件对象的默认类名。

类型
字符串

$_eventManager ¶ protected

此对象用于调度内部事件的 Cake\Event\EventManager 的实例。

类型
Cake\Event\EventManagerInterface|null

$_ext ¶ protected

文件扩展名。默认为 ".php"。

类型
字符串

$_helpers ¶ protected

助手集合

类型
Cake\View\HelperRegistry|null

$_parents ¶ protected

与 View::extend(); 一起使用的视图及其父级的名称。

类型
array<string, string>

$_passedVars ¶ protected

要从关联控制器收集的变量列表。

类型
list<string>

$_paths ¶ protected

保存路径数组。

类型
list<string>

$_pathsForPlugin ¶ protected

保存插件路径数组。

类型
array<string, list<string>>

$_stack ¶ protected

内容堆栈,用于所有使用 View::extend(); 的嵌套模板。

类型
list<string>

$_viewBlockClass ¶ protected

ViewBlock 类。

类型
字符串

$autoLayout ¶ protected

启用或禁用 CakePHP 的应用布局文件的常规模式。默认情况下启用。设置为 off 表示布局不会自动应用于渲染的模板。

类型
bool

$elementCache ¶ protected

视图将用于存储缓存元素的缓存配置。更改此配置将更改元素存储的默认配置。您也可以为每个元素选择缓存配置。

类型
字符串

$helpers ¶ protected

要加载的助手的配置数组。

类型
array<string, array<string, mixed>>

$layout ¶ protected

要渲染模板的布局文件的名称。指定的名称是 templates/layout/ 中的布局文件名,不带 .php 扩展名。

类型
字符串

$layoutPath ¶ protected

JSON 布局位于 Layouts/ 的 JSON 子目录中

类型
字符串

$name ¶ protected

创建视图(如果有)的控制器的名称。

类型
字符串

$plugin ¶ protected

插件的名称。

类型
string|null

$request ¶ protected

包含有关当前请求的信息的 \Cake\Http\ServerRequest 对象的实例。此对象包含有关请求的所有信息,以及用于读取有关请求的更多信息的几种方法。

类型
Cake\Http\ServerRequest

$response ¶ protected

对响应对象的引用

类型
Cake\Http\Response

$subDir ¶ protected

JSON 视图位于控制器的视图的 'json' 子目录中。

类型
字符串

$template ¶ protected

要渲染的模板文件的名称。指定的名称是 templates/<SubFolder>/ 中的文件名,不带 .php 扩展名。

类型
字符串

$templatePath ¶ protected

包含此视图模板的子文件夹名称。

类型
字符串

$theme ¶ protected

要使用的视图主题。

类型
string|null

$viewVars ¶ protected

变量数组

类型
array<string, mixed>
OpenHub
Pingping
Linode
  • 商业解决方案
  • 展示
  • 文档
  • 书籍
  • API
  • 视频
  • 报告安全问题
  • 隐私政策
  • 标识和商标
  • 社区
  • 参与其中
  • 问题 (Github)
  • 烘焙坊
  • 特色资源
  • 培训
  • 聚会
  • 我的 CakePHP
  • CakeFest
  • 时事通讯
  • 领英
  • YouTube
  • 脸书
  • 推特
  • Mastodon
  • 帮助与支持
  • 论坛
  • Stack Overflow
  • IRC
  • Slack
  • 付费支持

使用 CakePHP API 文档 生成