2

私は、標準のゲッターとセッターの膨大な数に取って代わる魔法のゲッターとセッター関数について読みました。(リンク)

AnnotationFormsのような変数にアンダースコアを使用していて、アンダースコアを使用したくないため、Miles の機能を変更しました$_namegetName()私は魔法の関数を更新しましたが、例えば、私が取得しようとすると:

致命的なエラー: 未定義のメソッドへの呼び出し ... Entity::getName()

これが私のコードです:

<?php
namespace Entity;
use Doctrine\ORM\Mapping as ORM;
use Zend\Form\Annotation as Form;

/**
 * @ORM\Entity
 * @ORM\Table(name="masterdata_entity")
 * @Form\Name("entity")
 * @Form\Attributes({ "class": "form-horizontal" })
 * @Form\Hydrator("Zend\Stdlib\Hydrator\ObjectProperty")
*/
class Entity
{
  /**
   * @ORM\Id
   * @ORM\Column(type="integer")
   * @ORM\GeneratedValue(strategy="AUTO")
   * @Form\Exclude()
   */
  protected $id;
  /**
   * @ORM\Column(type="string")
   * @Form\Filter({"name":"StringTrim"})
   * @Form\Validator({"name":"StringLength", "options":{"min":1, "max":50}})
   * @Form\Attributes({"type":"text"})
   * @Form\Options({"label":"Name"})
   */
  protected $name;

public function __get($property) {
    return (isset($this->{$property}) ? $this->{$property} : null);
}

public function __set($property, $value) {
    if (isset($this->{$property})) {
        $this->{$property} = $value;
    }
}

public function __isset($property) {
    return isset($this->{$property});
}

}

それはなぜですか、どうすれば修正できますか?

4

1 に答える 1