在 symfony 实体中的获取和设置中下划线



在我的实体中,我有一个变量名称中带有下划线的字段,如下所示:

/**
 * @ORMColumn(type="text", nullable=true)
 */
private $value_text;

例如,获取函数:

public function getValueText()
{
    return $this->value_dec;
}

有了这个,symfony抛出了一个例外:

Neither the property "value_text" nor one of the methods "value_text()", "getvalue_text()"/"isvalue_text()" or "__call()" exist and have public access in class "AppBundleEntityMyEntity".

所以我更改了函数名称,添加了下划线,但是当我想添加一行时,symfony 会抛出相同的错误,但以另一种方式 - 它忽略了下划线,并寻找像 getValueText(( 这样的函数。

为什么会这样?我已经做了两个函数做同样的事情,我的代码有效,但当然我认为有更好的方法来做到这一点,而不会使函数加倍。

尝试使用这个:

public function getValue_dec() {
    return $this->value_dec;
}

但是惯例是使用骆驼大小写,所以最好这样:

/**
 * @ORMColumn(type="text", nullable=true)
 */
private $valueDec;
public function getValueDec()
{
    return $this->valueDec;
}

Symfony使用camelCase作为属性命名约定。

这是命名约定的官方文档

阅读更多相关文章

[属性信息] 实现属性的命名策略

添加了对非驼峰大小写变量代码约定的支持 #29

相关内容

  • 没有找到相关文章

最新更新