質問
ドクトリンを使用するとき、私はこれらの2つの単語、アクセサーとミューテーターにつまずきます。
これらは教義でのみ使用されていますか、それともPHPに固有のものですか?
そして、彼らはどういう意味ですか?
ありがとう
解決
彼らはゲッターとセッターにとって派手な用語です。
class MyClass
{
private $prop;
// Accessor (or Getter)
public function getProp()
{
return $this->prop;
}
// Mutator (or Setter)
public function setProp($value)
{
$this->prop = $value;
}
}
他のヒント
使用するべきではありません __getおよび__set fp5以降 今?
私があなたを正しく理解していれば、これら2はオブジェクト指向のプログラミング言語を推測することに固有です。ポイントは、アクセサアがクラスのプライベートフィールドへのアクセスを提供する方法または関数であり、ミューテーターメソッドがプライベートフィールドを変更できることです。これについて書くことはできますが、これらをグーグルで検索することをお勧めします。それについて多くの情報が得られます。カプセル化についてのすべて< - その用語も調べることをお勧めします。
少なくともLaravelでは、GettersやSetterの単なる条件だけではありません。
ドキュメントを引用するには、「アクセサーとミューテーターを使用すると、モデルから取得したり、価値を設定したりするときに、雄弁な属性をフォーマットできます。」
https://laravel.com/docs/master/eloquent-mutators
したがって、GettersとSetterは、データをゼロで変更するアクセサーとミューテーターのサブセットであると言えます。
別の言い方をすれば、テーブルから生のフィールドの「コスト」を取得したい場合は、ゲッターを使用します。そのフィールドをポンドとペンスで表現し、フォーマットしたい場合は、アクセサを使用できます。
他の方法は他にもありますが、それは1つの選択肢です。