FlashComponent 类
CakePHP FlashComponent 提供了一种方法,允许您从控制器将闪存变量写入会话,以便使用 FlashHelper 在视图中呈现。
属性摘要
-
$_config protected
array<string, mixed>
运行时配置
-
$_configInitialized protected
bool
配置属性是否已使用默认值配置
-
$_defaultConfig protected
array<string, mixed>
默认配置
-
$_registry protected
Cake\Controller\ComponentRegistry
用于延迟加载组件的组件注册表类。
-
$componentInstances protected
array<string,Cake\Controller\Component>
已加载的组件实例。
-
$components protected
array
此组件使用的其他组件。
方法摘要
-
__call() public
基于元素名称的详细闪存方法的魔法方法。
-
__construct() public
构造函数
-
__debugInfo() public
返回一个数组,可用于描述此对象的内部状态。
-
__get() public
用于延迟加载 $components 的魔法方法。
-
_configDelete() protected
删除单个配置键。
-
_configRead() protected
读取配置键。
-
_configWrite() protected
写入配置键。
-
configShallow() public
代理方法到 FlashMessage 实例。
-
error() public @method
使用“error”元素设置消息
-
flash() protected
获取闪存消息实用程序实例。
-
getConfig() public
代理方法到 FlashMessage 实例。
-
getConfigOrFail() public
代理方法到 FlashMessage 实例。
-
getController() public
获取此组件绑定到的控制器。
-
implementedEvents() public
获取此组件感兴趣的控制器回调。
-
info() public @method
使用“info”元素设置消息
-
initialize() public
构造函数钩子方法。
-
log() public
用于将消息写入日志的便捷方法。有关写入日志的更多信息,请参阅 Log::write()。
-
set() public
用于设置会话变量,该变量可用于在视图中输出消息。如果您连续调用此方法,消息将堆叠(如果它们使用相同的闪存键设置)
-
setConfig() public
代理方法到 FlashMessage 实例。
-
success() public @method
使用“success”元素设置消息
-
warning() public @method
使用“warning”元素设置消息
方法详细说明
__call() ¶ public
__call(string $name, array $args): void
基于元素名称的详细闪存方法的魔法方法。
例如: $this->Flash->success('My message') 将使用 templates/element/flash/
下的 success.php
元素呈现闪存消息。
如果您连续调用此方法,消息将堆叠(如果它们使用相同的闪存键设置)
请注意,参数 element
将始终被覆盖。为了从插件调用特定元素,您应该在 $args 中设置 plugin
选项。
例如: $this->Flash->warning('My message', ['plugin' => 'PluginName'])
将使用 plugins/PluginName/templates/element/flash/
下的 warning.php
元素呈现闪存消息。
参数
-
string
$name 要使用的元素名称。
-
array
$args 调用
FlashComponent::set()
时要传递的参数。
返回
void
抛出
Cake\Http\Exception\InternalErrorException
如果缺少闪存消息。
__construct() ¶ public
__construct(Cake\Controller\ComponentRegistry $registry, array<string, mixed> $config = [])
构造函数
参数
-
Cake\Controller\ComponentRegistry
$registry 此组件可以使用的一个组件注册表,用于延迟加载其组件。
-
array<string, mixed>
$config optional 配置设置数组。
__debugInfo() ¶ public
__debugInfo(): array<string, mixed>
返回一个数组,可用于描述此对象的内部状态。
返回
array<string, mixed>
__get() ¶ public
__get(string $name): Cake\Controller\Component|null
用于延迟加载 $components 的魔法方法。
参数
-
string
$name 要获取的组件名称。
返回
Cake\Controller\Component|null
_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 optional True 表示递归合并,'shallow' 表示简单合并,false 表示覆盖,默认为 false。
返回
void
抛出
Cake\Core\Exception\CakeException
如果试图覆盖现有的配置
configShallow() ¶ public
configShallow(array<string, mixed>|string $key, mixed|null $value = null): $this
代理方法到 FlashMessage 实例。
设置特定值
$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
error() ¶ public @method
error(string $message, array $options = []): void
使用“error”元素设置消息
参数
-
string
$message -
array
$options optional
返回
void
getConfig() ¶ public
getConfig(string|null $key = null, mixed $default = null): mixed
代理方法到 FlashMessage 实例。
使用
读取整个配置
$this->getConfig();
读取特定值
$this->getConfig('key');
读取嵌套值
$this->getConfig('some.nested.key');
读取默认值
$this->getConfig('some-key', 'default-value');
参数
-
string|null
$key 可选 要获取的键,或整个配置的 null。
-
mixed
$default 可选 键不存在时的返回值。
返回
mixed
getConfigOrFail() ¶ public
getConfigOrFail(string $key): mixed
代理方法到 FlashMessage 实例。
此键的配置值必须存在,不能为 null。
参数
-
string
$key 要获取的键。
返回
mixed
抛出
InvalidArgumentException
getController() ¶ public
getController(): Cake\Controller\Controller
获取此组件绑定到的控制器。
返回
Cake\Controller\Controller
implementedEvents() ¶ public
implementedEvents(): array<string, mixed>
获取此组件感兴趣的控制器回调。
使用约定将控制器事件映射到标准组件回调方法名称。通过定义其中一个回调方法,组件被认为对相关事件感兴趣。
如果您需要添加非约定事件监听器,或者您希望组件监听非标准事件,请覆盖此方法。
返回
array<string, mixed>
info() ¶ public @method
info(string $message, array $options = []): void
使用“info”元素设置消息
参数
-
string
$message -
array
$options optional
返回
void
initialize() ¶ public
initialize(array<string, mixed> $config): void
构造函数钩子方法。
实现此方法以避免覆盖构造函数并调用父类。
参数
-
array<string, mixed>
$config 提供给此组件的配置设置。
返回
void
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
set() ¶ public
set(Throwable|string $message, array<string, mixed> $options = []): void
用于设置会话变量,该变量可用于在视图中输出消息。如果您连续调用此方法,消息将堆叠(如果它们使用相同的闪存键设置)
在您的控制器中:$this->Flash->set('This has been saved');
选项
key
要在会话的 Flash 键下设置的键element
用于呈现闪存消息的元素。默认为 'default'。params
使用元素时可用的变量数组clear
一个布尔值,表示是否应清除当前堆栈以开始一个新的堆栈escape
设置为 false 以允许模板打印出 HTML 内容
参数
-
Throwable|string
$message 要闪存的消息。如果 \Throwable 的实例,将使用可抛出消息,代码将设置在 params 中。
-
array<string, mixed>
$options 可选 一个选项数组
返回
void
setConfig() ¶ public
setConfig(array<string, mixed>|string $key, mixed|null $value = null, bool $merge = true): $this
代理方法到 FlashMessage 实例。
使用
设置特定值
$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
尝试设置无效键时。
success() ¶ public @method
success(string $message, array $options = []): void
使用“success”元素设置消息
参数
-
string
$message -
array
$options optional
返回
void
warning() ¶ public @method
warning(string $message, array $options = []): void
使用“warning”元素设置消息
参数
-
string
$message -
array
$options optional
返回
void