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
      • 关联
      • 行为
      • 异常
      • 定位器
      • 查询
      • 规则
    • 路由
    • 测试套件
    • 工具
    • 验证
    • 视图

类 TableLocator

提供 Table 对象的默认注册表/工厂。

命名空间: Cake\ORM\Locator

属性概要

  • $_config protected
    array<string, array|null>

    别名的配置。

  • $_fallbacked protected
    arrayCake\ORM\Table>

    包含根据内置 Table 类创建的 Table 对象列表。该列表以表别名作为索引。

  • $allowFallbackClass protected
    bool

    如果找不到表类,是否应使用回退类。

  • $fallbackClassName protected
    string

    要使用的回退类。

  • $instances protected
    array<string,Cake\ORM\Table>

    属于注册表的实例。

  • $locations protected
    list<string>

    包含应该查找表类的位置列表。

  • $options protected
    array<string, array>

    包含传递给 get() 方法的选项列表。

  • $queryFactory protected
    QueryFactory

方法概要

  • __construct() public

    构造函数。

  • _create() protected

    用于创建表实例的包装器。

  • _getClassName() protected

    获取表类名称。

  • addLocation() public

    添加应该查找表类的位置。

  • allowFallbackClass() public

    设置是否应使用回退类。

  • clear() public

    清除注册表中的配置和实例。

  • createInstance() protected

    创建给定类名的实例。

  • exists() public

    检查注册表中是否存在实例。

  • genericInstances() public

    返回由此注册表创建的表列表,这些表无法从特定子类实例化。此方法对于调试设置关联或创建新表类时的常见错误很有用。

  • get() public

    从注册表中获取表实例。

  • getConfig() public

    返回别名的配置或所有别名的完整配置数组。

  • remove() public

    从注册表中删除存储库实例。

  • set() public

    设置 Table 实例。

  • setConfig() public

    存储在用匹配别名实例化对象时要使用的选项列表。

  • setFallbackClassName() public

    设置回退类名称。

方法详情

__construct() ¶ public

__construct(list<string>|null $locations = null, ?QueryFactory $queryFactory = null)

构造函数。

参数
list<string>|null $locations 可选

应该查找表的位置。如果没有提供,则使用应用程序命名空间下的默认 Model\Table。

?QueryFactory $queryFactory 可选

_create() ¶ protected

_create(array<string, mixed> $options): Cake\ORM\Table

用于创建表实例的包装器。

参数
array<string, mixed> $options

要检查的别名。

返回
Cake\ORM\Table

_getClassName() ¶ protected

_getClassName(string $alias, array<string, mixed> $options = []): string|null

获取表类名称。

参数
string $alias

您要获取的别名。应采用驼峰命名法。

array<string, mixed> $options 可选

表选项数组。

返回
string|null

addLocation() ¶ public

addLocation(string $location): $this

添加应该查找表类的位置。

参数
string $location

要添加的位置。

返回
$this

allowFallbackClass() ¶ public

allowFallbackClass(bool $allow): $this

设置是否应使用回退类。

控制如果在 get() 中使用的别名无法找到具体的类,是否应使用回退类来创建表实例。

参数
bool $allow

启用或禁用回退的标志。

返回
$this

clear() ¶ public

clear(): void

清除注册表中的配置和实例。

返回
void

createInstance() ¶ protected

createInstance(string $alias, array<string, mixed> $options): Table

创建给定类名的实例。

参数
string $alias
array<string, mixed> $options
返回
Table

exists() ¶ public

exists(string $alias): bool

检查注册表中是否存在实例。

参数
string $alias

要检查的别名。

返回
bool

genericInstances() ¶ public

genericInstances(): arrayCake\ORM\Table>

返回由此注册表创建的表列表,这些表无法从特定子类实例化。此方法对于调试设置关联或创建新表类时的常见错误很有用。

返回
arrayCake\ORM\Table>

get() ¶ public

get(string $alias, array<string, mixed> $options = []): Cake\ORM\Table

从注册表中获取表实例。

表仅创建一次,直到注册表被刷新。这意味着别名在您的应用程序中必须是唯一的。这很重要,因为表关联在运行时解析,并且需要正确处理循环引用。

可以传递的选项与 {@link \Cake\ORM\Table::__construct()} 中的相同,但也会识别 className 键。

选项

  • className 定义要使用的特定类名。如果未定义,CakePHP 将根据别名生成类名。例如,“用户” 将导致使用 App\Model\Table\UsersTable。如果此类不存在,则将使用默认的 Cake\ORM\Table 类。通过设置 className 选项,您可以定义要使用的特定类。className 选项支持插件简短类引用 {@link \Cake\Core\App::shortName()}。
  • table 定义要使用的表名。如果未定义,此选项将默认设置为别名名称的下划线版本。
  • connection 注入要使用的特定连接对象。如果此选项和 connectionName 未定义,则将调用表类的 defaultConnectionName() 方法来获取连接名称。
  • connectionName 定义要使用的连接名称。命名连接将从 {@link \Cake\Datasource\ConnectionManager} 中获取。

注意 如果您的 $alias 使用插件语法,则只有名称部分将用作注册表中的键。这意味着,如果两个插件或插件和应用程序提供相同的别名,注册表将只存储第一个实例。

参数
string $alias

您要获取的别名。应采用驼峰命名法。

array<string, mixed> $options 可选

您要用来构建表的选项。如果表已加载,则选项将被忽略。

返回
Cake\ORM\Table
抛出
RuntimeException
当您尝试配置已存在的别名时。

getConfig() ¶ public

getConfig(string|null $alias = null): array

返回别名的配置或所有别名的完整配置数组。

参数
string|null $alias 可选
返回
数组

remove() ¶ public

remove(string $alias): void

从注册表中删除存储库实例。

参数
string $alias
返回
void

set() ¶ public

set(string $alias, Cake\Datasource\RepositoryInterface $repository): Cake\ORM\Table

设置 Table 实例。

参数
string $alias

要设置的别名。

Cake\Datasource\RepositoryInterface $repository

要设置的表格。

返回
Cake\ORM\Table

setConfig() ¶ public

setConfig(array<string, mixed>|string $alias, array<string, mixed>|null $options = null): $this

存储在用匹配别名实例化对象时要使用的选项列表。

参数
array<string, mixed>|string $alias
array<string, mixed>|null $options 可选
返回
$this

setFallbackClassName() ¶ public

setFallbackClassName(string $className): $this

设置回退类名称。

如果在 get() 中使用的别名找不到具体类,则应使用该类来创建表格实例。默认值为 Cake\ORM\Table。

参数
string $className

回退类名

返回
$this

属性详情

$_config ¶ protected

别名的配置。

类型
array<string, array|null>

$_fallbacked ¶ protected

包含根据内置 Table 类创建的 Table 对象列表。该列表以表别名作为索引。

类型
arrayCake\ORM\Table>

$allowFallbackClass ¶ protected

如果找不到表类,是否应使用回退类。

类型
bool

$fallbackClassName ¶ protected

要使用的回退类。

类型
string

$instances ¶ protected

属于注册表的实例。

类型
array<string,Cake\ORM\Table>

$locations ¶ protected

包含应该查找表类的位置列表。

类型
list<string>

$options ¶ protected

包含传递给 get() 方法的选项列表。

类型
array<string, array>

$queryFactory ¶ protected

类型
QueryFactory
OpenHub
Pingping
Linode
  • 商业解决方案
  • 展示
  • 文档
  • 手册
  • API
  • 视频
  • 报告安全问题
  • 隐私政策
  • 标识和商标
  • 社区
  • 参与
  • 问题 (Github)
  • 面包房
  • 精选资源
  • 培训
  • 聚会
  • 我的 CakePHP
  • CakeFest
  • 时事通讯
  • 领英
  • YouTube
  • 脸书
  • 推特
  • Mastodon
  • 帮助与支持
  • 论坛
  • Stack Overflow
  • IRC
  • Slack
  • 付费支持

使用 CakePHP API 文档 生成