CakePHP
  • 文档
    • 手册
    • API
    • 视频
    • 报告安全问题
    • 隐私政策
    • 标识和商标
  • 商业解决方案
  • 周边产品
  • 自驾游
  • 团队
  • 社区
    • 社区
    • 参与
    • 问题 (Github)
    • 烘焙坊
    • 特色资源
    • 培训
    • 聚会
    • 我的 CakePHP
    • CakeFest
    • 时事通讯
    • Linkedin
    • YouTube
    • Facebook
    • Twitter
    • 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
    • Cache
      • Engine
      • Exception
    • Collection
    • Command
    • Console
    • Controller
    • Core
    • Database
    • Datasource
    • Error
    • Event
    • Form
    • Http
    • I18n
    • Log
    • Mailer
    • Network
    • ORM
    • Routing
    • TestSuite
    • Utility
    • Validation
    • View

类 CacheRegistry

缓存引擎的对象注册表。

由 {@link \Cake\Cache\Cache} 用于加载和管理缓存引擎。

命名空间: Cake\Cache

属性摘要

  • $_loaded protected
    array<string, object>

    已加载对象的映射。

方法摘要

  • __debugInfo() public

    调试友好的对象属性。

  • __get() public

    提供对已加载对象的公共读取访问。

  • __isset() public

    提供对 _loaded 的 isset 访问。

  • __set() public

    设置对象。

  • __unset() public

    取消设置对象。

  • _checkDuplicate() protected

    检查重复的对象加载。

  • _create() protected

    创建缓存引擎实例。

  • _resolveClassName() protected

    解析缓存引擎类名。

  • _throwMissingClassError() protected

    当缓存引擎丢失时抛出异常。

  • count() public

    返回已加载对象的数目。

  • get() public

    获取已加载的对象实例。

  • getIterator() public

    返回数组迭代器。

  • has() public

    检查给定的对象是否已加载。

  • load() public

    加载/构造对象实例。

  • loaded() public

    获取已加载对象的列表。

  • normalizeArray() public

    将对象配置数组规范化为关联形式,以方便惰性加载。

  • reset() public

    清除注册表中已加载的实例。

  • set() public

    直接将对象按名称设置到注册表中。

  • unload() public

    从注册表中删除单个适配器。

方法详细说明

__debugInfo() ¶ public

__debugInfo(): array<string, mixed>

调试友好的对象属性。

返回
array<string, mixed>

__get() ¶ public

__get(string $name): object|null

提供对已加载对象的公共读取访问。

参数
string $name

要读取的属性名称

返回
object|null

__isset() ¶ public

__isset(string $name): bool

提供对 _loaded 的 isset 访问。

参数
string $name

要检查的对象名称。

返回
bool

__set() ¶ public

__set(string $name, object $object): void

设置对象。

参数
string $name

要设置的属性名称。

object $object

要设置的对象。

返回
void

__unset() ¶ public

__unset(string $name): void

取消设置对象。

参数
string $name

要取消设置的属性名称。

返回
void

_checkDuplicate() ¶ protected

_checkDuplicate(string $name, array<string, mixed> $config): void

检查重复的对象加载。

如果正在加载重复项且具有不同的配置,则这是不好的,将引发异常。

引发异常,因为替换对象不会更新其他对象可能具有的任何引用。此外,仅仅更新运行时配置并不是一个好的选择,因为我们可能缺少依赖于配置的重要构造器逻辑。

参数
string $name

注册表中别名的名称。

array<string, mixed> $config

新实例的配置数据。

返回
void
抛出
Cake\Core\Exception\CakeException
当找到重复项时。

_create() ¶ protected

_create(object|string $class, string $alias, array<string, mixed> $config): Cake\Cache\CacheEngine

创建缓存引擎实例。

Cake\Core\ObjectRegistry::load() 的模板方法的一部分

参数
object|string $class

要创建的类名或对象。

string $alias

对象的别名。

array<string, mixed> $config

用于缓存引擎的一组设置。

返回
Cake\Cache\CacheEngine
抛出
Cake\Core\Exception\CakeException
当缓存引擎无法初始化时。

_resolveClassName() ¶ protected

_resolveClassName(string $class): class-stringCake\Cache\CacheEngine>|null

解析缓存引擎类名。

Cake\Core\ObjectRegistry::load() 的模板方法的一部分

参数
string $class

要解析的部分类名。

返回
class-stringCake\Cache\CacheEngine>|null

_throwMissingClassError() ¶ protected

_throwMissingClassError(string $class, string|null $plugin): void

当缓存引擎丢失时抛出异常。

Cake\Core\ObjectRegistry::load() 的模板方法的一部分

参数
string $class

丢失的类名。

string|null $plugin

缓存丢失的插件。

返回
void
抛出
BadMethodCallException

count() ¶ public

count(): int

返回已加载对象的数目。

返回
int

get() ¶ public

get(string $name): object

获取已加载的对象实例。

参数
string $name

对象的名称。

返回
object
抛出
Cake\Core\Exception\CakeException
如果未加载或未找到。

getIterator() ¶ public

getIterator(): Traversable

返回数组迭代器。

返回
Traversable

has() ¶ public

has(string $name): bool

检查给定的对象是否已加载。

参数
string $name

要检查的对象名称。

返回
bool

load() ¶ public

load(string $name, array<string, mixed> $config = []): object

加载/构造对象实例。

如果实例已存在,将返回注册表中的实例。如果子类提供事件支持,则可以使用 $config['enabled'] = false 将构造的对象从为事件注册中排除。

使用 {@link \Cake\Controller\Component::$components} 作为示例。您可以通过设置 'className' 键来为对象设置别名,例如:

protected $components = [
  'Email' => [
    'className' => 'App\Controller\Component\AliasedEmailComponent'
  ];
];

对 Email 组件的所有调用将使用 AliasedEmail 代替。

参数
string $name

要加载的对象的名称/类。

array<string, mixed> $config optional

加载对象时使用的其他设置。

返回
object
抛出
Exception
如果找不到该类。

loaded() ¶ public

loaded(): list<string>

获取已加载对象的列表。

返回
list<string>

normalizeArray() ¶ public

normalizeArray(array $objects): array<string, array>

将对象配置数组规范化为关联形式,以方便惰性加载。

参数
array $objects

要规范化的子对象数组。

返回
array<string, array>

reset() ¶ public

reset(): $this

清除注册表中已加载的实例。

如果注册表子类具有事件管理器,则对象也将从事件中分离。

返回
$this

set() ¶ public

set(string $name, object $object): $this

直接将对象按名称设置到注册表中。

如果此集合实现了事件,则传递的对象将附加到事件管理器中

参数
string $name

要设置在注册表中的对象的名称。

object $object

要存储在注册表中的实例

返回
$this

unload() ¶ public

unload(string $name): $this

从注册表中删除单个适配器。

如果此注册表具有事件管理器,则对象也将从任何事件中分离。

参数
string $name

适配器名称。

返回
$this

属性详情

$_loaded ¶ 受保护

已加载对象的映射。

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

使用 CakePHP API 文档 生成