gpt4 book ai didi

php - 如何使用 Doctrine YAML Schema 设置自定义修改器?

转载 作者:搜寻专家 更新时间:2023-10-31 21:45:37 25 4
gpt4 key购买 nike

我使用本教程作为基于 Code Igniter/Doctrine 的项目的基础。

http://www.phpandstuff.com/articles/codeigniter-doctrine-scratch-day-3-user-signup-form

我的项目没有使用模型的原样代码,而是使用 YAML 架构文件来生成模型

我遇到了一个障碍,因为我不知道如何使用 YAML 表示以下内容:

$this->hasMutator('password', '_encrypt_password');

(这是来自“添加修改器”下的用户模型代码)具体来说,我在 $this->hasMutator 行上遇到了问题

我用谷歌搜索直到蓝色,搜索 Doctrine、symfony(我知道它大量使用 Doctrine)的文档,甚至 grep'd 代码库以获取对 mutators 的引用——我一无所获

有没有办法表示行 $this->hasMutator('password', '_encrypt_password');使用 Doctrine YAML?

最佳答案

(请注意澄清:我们在这里谈论的是 Doctrine 1.x 而不是 Doctrine 2.x)不,没有办法直接在 YAML 架构中定义修改器。你确定你必须在那里注册突变器吗?

您可以通过创建自己的 Doctrine 行为来绕过此限制。 Doctrine 行为可以分配给 YAML 模式中的模型。在这里阅读更多内容:

http://www.doctrine-project.org/projects/orm/1.2/docs/manual/behaviors/pl

在您的情况下,行为看起来像这样:

class EbonhandsTemplate extends Doctrine_Template
{
public function setUp()
{
$this->hasMutator('password', '_encrypt_password');
}

public function _encrypt_password
....
}

在您的 yaml 架构中:

EbonhandsModel:
actAs: [EbonhandsTemplate]

关于php - 如何使用 Doctrine YAML Schema 设置自定义修改器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4296279/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com