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
    • Collection
    • Command
    • Console
    • Controller
    • Core
    • Database
    • Datasource
      • Exception
      • Locator
      • Paging
    • Error
    • Event
    • Form
    • Http
    • I18n
    • Log
    • Mailer
    • Network
    • ORM
    • Routing
    • TestSuite
    • Utility
    • Validation
    • View

特征 ModelAwareTrait

提供将表格类和其他资源加载到宿主对象属性的功能。

该特征的示例用户包括 {@link \Cake\Controller\Controller} 和 {@link \Cake\Command\Command}。

命名空间: Cake\Datasource

属性摘要

  • $_modelFactories protected
    array<callableCake\Datasource\Locator\LocatorInterface>

    覆盖的模型工厂函数列表。

  • $_modelType protected
    string

    要使用的模型类型。

  • $modelClass protected
    string|null

    此对象的模型类名称。应该是复数形式。CakePHP 不会对名称进行词形变化。

方法摘要

  • _setModelClass() protected

    根据约定设置 modelClass 属性。

  • fetchModel() public

    从定位器中获取或构建模型实例。

  • getModelType() public

    获取此类要使用的模型类型

  • modelFactory() public

    覆盖现有的可调用对象以生成给定类型的资源库。

  • setModelType() public

    设置此类要使用的模型类型

方法详细说明

_setModelClass() ¶ protected

_setModelClass(string $name): void

根据约定设置 modelClass 属性。

如果属性已经设置,则不会被覆盖。

参数
string $name

类名。

返回值
void

fetchModel() ¶ public

fetchModel(string|null $modelClass = null, string|null $modelType = null): Cake\Datasource\RepositoryInterface

从定位器中获取或构建模型实例。

使用基于 $modelType 的模型工厂来获取和构建一个 RepositoryInterface 并返回它。默认的 modelType 可以使用 setModelType() 定义。

与 loadModel() 不同,此方法 不会 设置对象属性。

如果资源库提供者没有返回对象,将抛出 MissingModelException。

参数
string|null $modelClass optional

要加载的模型类名称。默认为 $this->modelClass。名称可以是别名,如 'Post',也可以是 FQCN,如 App\Model\Table\PostsTable::class。

string|null $modelType optional

要加载的资源库类型。默认为 getModelType() 值。

返回值
Cake\Datasource\RepositoryInterface
抛出
Cake\Datasource\Exception\MissingModelException
如果找不到模型类。
UnexpectedValueException
如果未提供 $modelClass 参数,并且 ModelAwareTrait::$modelClass 属性值为空。

getModelType() ¶ public

getModelType(): string

获取此类要使用的模型类型

返回值
string

modelFactory() ¶ public

modelFactory(string $type, Cake\Datasource\Locator\LocatorInterface|callable $factory): void

覆盖现有的可调用对象以生成给定类型的资源库。

参数
string $type

工厂函数所属的资源库类型名称。

Cake\Datasource\Locator\LocatorInterface|callable $factory

用于创建实例的工厂函数。

返回值
void

setModelType() ¶ public

setModelType(string $modelType): $this

设置此类要使用的模型类型

参数
string $modelType

模型类型

返回值
$this

属性详细说明

$_modelFactories ¶ protected

覆盖的模型工厂函数列表。

类型
array<callableCake\Datasource\Locator\LocatorInterface>

$_modelType ¶ protected

要使用的模型类型。

类型
string

$modelClass ¶ protected

此对象的模型类名称。应该是复数形式。CakePHP 不会对名称进行词形变化。

例如:对于名为 'Comments' 的对象,modelClass 将为 'Comments'。插件类应使用 Plugin.Comments 样式的名称来正确地从正确的插件加载模型。

使用空字符串表示不使用此对象的自动加载。空值会根据控制器名称自动检测。

类型
string|null
OpenHub
Pingping
Linode
  • 商业解决方案
  • 展示
  • 文档
  • 书籍
  • API
  • 视频
  • 报告安全问题
  • 隐私政策
  • 徽标和商标
  • 社区
  • 参与
  • 问题 (Github)
  • 面包店
  • 特色资源
  • 培训
  • 聚会
  • 我的 CakePHP
  • CakeFest
  • 时事通讯
  • LinkedIn
  • YouTube
  • Facebook
  • Twitter
  • Mastodon
  • 帮助和支持
  • 论坛
  • Stack Overflow
  • IRC
  • Slack
  • 付费支持

使用 CakePHP API 文档 生成