CakePHP
  • 文档
    • 书籍
    • API
    • 视频
    • 报告安全问题
    • 隐私政策
    • 标识 & 商标
  • 业务解决方案
  • 商品
  • 旅行
  • 团队
  • 社区
    • 社区
    • 参与
    • 问题 (Github)
    • 烘焙坊
    • 特色资源
    • 培训
    • 聚会
    • 我的 CakePHP
    • CakeFest
    • 通讯
    • 领英
    • 优酷
    • 脸书
    • 推特
    • 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

类 RulesChecker

包含用于存储和检查实体规则的逻辑

RulesCheckers 由 Table 类使用,以确保当前实体状态满足应用程序逻辑和业务规则。

RulesCheckers 可以根据不同的规则在创建和更新场景中应用。

添加规则

规则必须是可调用的对象,根据规则是否满足返回 true/false。您可以使用 RulesChecker::add()、RulesChecker::addCreate()、RulesChecker::addUpdate() 和 RulesChecker::addDelete 将规则添加到检查器中。

运行检查

通常 Table 对象会调用规则对象,但您可以通过调用 RulesChecker::checkCreate()、RulesChecker::checkUpdate() 或 RulesChecker::checkDelete() 手动调用检查。

命名空间: Cake\Datasource

常量

  • 字符串
    CREATE ¶
    'create'

    表示要应用的检查规则是用于创建实体的规则

  • 字符串
    DELETE ¶
    'delete'

    表示要应用的检查规则是用于删除实体的规则

  • 字符串
    UPDATE ¶
    'update'

    表示要应用的检查规则是用于更新实体的规则

属性摘要

  • $_createRules protected
    arrayCake\Datasource\RuleInvoker>

    创建操作期间要检查的规则列表

  • $_deleteRules protected
    arrayCake\Datasource\RuleInvoker>

    删除操作期间要检查的规则列表

  • $_options protected
    数组

    要传递给每个可调用规则的选项列表

  • $_rules protected
    arrayCake\Datasource\RuleInvoker>

    要对创建和更新操作进行检查的规则列表

  • $_updateRules protected
    arrayCake\Datasource\RuleInvoker>

    更新操作期间要检查的规则列表

  • $_useI18n protected
    布尔

    是否使用 I18n 函数来翻译默认错误消息

方法摘要

  • __construct() public

    构造函数。接受要传递给所有规则的选项。

  • _addError() protected

    用于装饰任何可调用函数的实用程序方法,以便如果它返回 false,则实体中的正确属性将被标记为无效。

  • _checkRules() protected

    由顶级函数 checkDelete、checkCreate 和 checkUpdate 使用,此函数迭代包含要检查的规则的数组,并检查所有规则。

  • add() public

    添加一个将在创建和更新操作时应用于实体的规则。

  • addCreate() public

    添加一个将在创建操作时应用于实体的规则。

  • addDelete() public

    添加一个将在删除操作时应用于实体的规则。

  • addUpdate() public

    添加一个将在更新操作时应用于实体的规则。

  • check() public

    通过传递提供的实体运行每个规则,如果所有规则都通过则返回 true。要应用的规则取决于 $mode 参数,该参数只能是 RulesChecker::CREATE、RulesChecker::UPDATE 或 RulesChecker::DELETE

  • checkCreate() public

    通过传递提供的实体运行每个规则,如果所有规则都通过则返回 true。选择的规则将仅是那些指定在“创建”时运行的规则。

  • checkDelete() public

    通过传递提供的实体运行每个规则,如果所有规则都通过则返回 true。选择的规则将仅是那些指定在“删除”时运行的规则。

  • checkName() protected

    检查具有相同名称的规则是否已存在

  • checkUpdate() public

    通过传递提供的实体运行每个规则,如果所有规则都通过则返回 true。选择的规则将仅是那些指定在“更新”时运行的规则。

  • remove() public

    从集合中删除一个规则。

  • removeCreate() public

    从创建集合中删除一个规则。

  • removeDelete() public

    从删除集合中删除一个规则。

  • removeUpdate() public

    从更新集合中删除一个规则。

方法详情

__construct() ¶ public

__construct(array<string, mixed> $options = [])

构造函数。接受要传递给所有规则的选项。

参数
array<string, mixed> $options optional

要传递给每个规则的选项

_addError() ¶ protected

_addError(callable $rule, array|string|null $name = null, array<string, mixed> $options = []): Cake\Datasource\RuleInvoker

用于装饰任何可调用函数的实用程序方法,以便如果它返回 false,则实体中的正确属性将被标记为无效。

参数
callable $rule

要装饰的规则

array|string|null $name optional

规则的别名或选项数组

array<string, mixed> $options optional

包含错误消息和字段的选项。

返回
Cake\Datasource\RuleInvoker

_checkRules() ¶ protected

_checkRules(Cake\Datasource\EntityInterface $entity, array<string, mixed> $options = [], arrayCake\Datasource\RuleInvoker> $rules = []): bool

由顶级函数 checkDelete、checkCreate 和 checkUpdate 使用,此函数迭代包含要检查的规则的数组,并检查所有规则。

参数
Cake\Datasource\EntityInterface $entity

要检查有效性的实体。

array<string, mixed> $options optional

要传递给检查函数的额外选项。

arrayCake\Datasource\RuleInvoker> $rules optional

必须检查的规则列表。

返回
布尔

add() ¶ public

add(callable $rule, array|string|null $name = null, array<string, mixed> $options = []): $this

添加一个将在创建和更新操作时应用于实体的规则。

选项

选项数组接受以下特殊键

  • errorField: 如果规则不通过,将被标记为无效的实体字段的名称。
  • message: 如果规则不通过,要设置到 errorField 的错误消息。
参数
callable $rule

一个可调用函数或对象,将返回实体是否有效。

array|string|null $name optional

规则的别名或选项数组。

array<string, mixed> $options optional

要作为第二个参数传递给规则可调用的额外选项列表。

返回
$this
抛出
Cake\Core\Exception\CakeException
如果已存在具有相同名称的规则

addCreate() ¶ public

addCreate(callable $rule, array|string|null $name = null, array<string, mixed> $options = []): $this

添加一个将在创建操作时应用于实体的规则。

选项

选项数组接受以下特殊键

  • errorField: 如果规则不通过,将被标记为无效的实体字段的名称。
  • message: 如果规则不通过,要设置到 errorField 的错误消息。
参数
callable $rule

一个可调用函数或对象,将返回实体是否有效。

array|string|null $name optional

规则的别名或选项数组。

array<string, mixed> $options optional

要作为第二个参数传递给规则可调用的额外选项列表。

返回
$this
抛出
Cake\Core\Exception\CakeException
如果已存在具有相同名称的规则

addDelete() ¶ public

addDelete(callable $rule, array|string|null $name = null, array<string, mixed> $options = []): $this

添加一个将在删除操作时应用于实体的规则。

选项

选项数组接受以下特殊键

  • errorField: 如果规则不通过,将被标记为无效的实体字段的名称。
  • message: 如果规则不通过,要设置到 errorField 的错误消息。
参数
callable $rule

一个可调用函数或对象,将返回实体是否有效。

array|string|null $name optional

规则的别名或选项数组。

array<string, mixed> $options optional

要作为第二个参数传递给规则可调用的额外选项列表。

返回
$this
抛出
Cake\Core\Exception\CakeException
如果已存在具有相同名称的规则

addUpdate() ¶ public

addUpdate(callable $rule, array|string|null $name = null, array<string, mixed> $options = []): $this

添加一个将在更新操作时应用于实体的规则。

选项

选项数组接受以下特殊键

  • errorField: 如果规则不通过,将被标记为无效的实体字段的名称。
  • message: 如果规则不通过,要设置到 errorField 的错误消息。
参数
callable $rule

一个可调用函数或对象,将返回实体是否有效。

array|string|null $name optional

规则的别名或选项数组。

array<string, mixed> $options optional

要作为第二个参数传递给规则可调用的额外选项列表。

返回
$this
抛出
Cake\Core\Exception\CakeException
如果已存在具有相同名称的规则

check() ¶ public

check(Cake\Datasource\EntityInterface $entity, string $mode, array<string, mixed> $options = []): bool

通过传递提供的实体运行每个规则,如果所有规则都通过则返回 true。要应用的规则取决于 $mode 参数,该参数只能是 RulesChecker::CREATE、RulesChecker::UPDATE 或 RulesChecker::DELETE

参数
Cake\Datasource\EntityInterface $entity

要检查有效性的实体。

string $mode

“创建”、“更新”或“删除”。

array<string, mixed> $options optional

要传递给检查函数的额外选项。

返回
布尔
抛出
InvalidArgumentException
如果传递了无效的模式。

checkCreate() ¶ public

checkCreate(Cake\Datasource\EntityInterface $entity, array<string, mixed> $options = []): bool

通过传递提供的实体运行每个规则,如果所有规则都通过则返回 true。选择的规则将仅是那些指定在“创建”时运行的规则。

参数
Cake\Datasource\EntityInterface $entity

要检查有效性的实体。

array<string, mixed> $options optional

要传递给检查函数的额外选项。

返回
布尔

checkDelete() ¶ public

checkDelete(Cake\Datasource\EntityInterface $entity, array<string, mixed> $options = []): bool

通过传递提供的实体运行每个规则,如果所有规则都通过则返回 true。选择的规则将仅是那些指定在“删除”时运行的规则。

参数
Cake\Datasource\EntityInterface $entity

要检查有效性的实体。

array<string, mixed> $options optional

要传递给检查函数的额外选项。

返回
布尔

checkName() ¶ protected

checkName(string $name, arrayCake\Datasource\RuleInvoker> $rules): void

检查具有相同名称的规则是否已存在

参数
string $name

要检查的名称

arrayCake\Datasource\RuleInvoker> $rules

要检查的规则数组

返回
void
抛出
Cake\Core\Exception\CakeException

checkUpdate() ¶ public

checkUpdate(Cake\Datasource\EntityInterface $entity, array<string, mixed> $options = []): bool

通过传递提供的实体运行每个规则,如果所有规则都通过则返回 true。选择的规则将仅是那些指定在“更新”时运行的规则。

参数
Cake\Datasource\EntityInterface $entity

要检查有效性的实体。

array<string, mixed> $options optional

要传递给检查函数的额外选项。

返回
布尔

remove() ¶ public

remove(string $name): $this

从集合中删除一个规则。

参数
string $name

要移除的规则的名称。

返回
$this

removeCreate() ¶ public

removeCreate(string $name): $this

从创建集合中删除一个规则。

参数
string $name

要移除的规则的名称。

返回
$this

removeDelete() ¶ public

removeDelete(string $name): $this

从删除集合中删除一个规则。

参数
string $name

要移除的规则的名称。

返回
$this

removeUpdate() ¶ public

removeUpdate(string $name): $this

从更新集合中删除一个规则。

参数
string $name

要移除的规则的名称。

返回
$this

属性详情

$_createRules ¶ protected

创建操作期间要检查的规则列表

类型
arrayCake\Datasource\RuleInvoker>

$_deleteRules ¶ protected

删除操作期间要检查的规则列表

类型
arrayCake\Datasource\RuleInvoker>

$_options ¶ protected

要传递给每个可调用规则的选项列表

类型
数组

$_rules ¶ protected

要对创建和更新操作进行检查的规则列表

类型
arrayCake\Datasource\RuleInvoker>

$_updateRules ¶ protected

更新操作期间要检查的规则列表

类型
arrayCake\Datasource\RuleInvoker>

$_useI18n ¶ protected

是否使用 I18n 函数来翻译默认错误消息

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

使用 CakePHP API 文档 生成