Doctrineではミューテーターとアクセサーは何をしますか?

StackOverflow https://stackoverflow.com/questions/1807149

  •  05-07-2019
  •  | 
  •  

質問

このドキュメント内、Doctrineでのミューテーターとアクセサーの使用方法を説明しますが、それらが何であるかは説明しません。

ミューテーターとアクセサーが何をするのか、そしてそれが何であるのかを説明できますか?

事前に感謝します。

役に立ちましたか?

解決

ミューテーターとアクセサーを使用して、モデルのフィールドに追加の動作を実装できます。基本的に、値をある形式から別の形式に変換します。たとえば、Doctrineのドキュメントを見ると、md5Passwordミューテーターが指定されています。 Mutatorは、フィールドの値を設定するたびに、Doctrineが指定されたmutatorメソッドを呼び出すことを意味します。だからいつでも:

$user->password = 'foobar';

Doctrineはモデルのmd5Password()を呼び出すため、「foobar」をmd5(「foobar」)に変換します。一言で言えば、これにより、パスワードは常にソフトウェアレベルでハッシュされます。

アクセッサはミューテーターの反対です。フィールドが設定される代わりに読み取られるときに呼び出されます(たとえば、データベースから行が読み取られるとき)。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top