このドキュメントでは、Doctrine でミューテーターとアクセサーを使用する方法について説明しますが、それらが何であるかについては説明しません。
ミューテーターとアクセサーが何をし、それらが何であるかを説明できる人はいますか?
前もって感謝します。
ミューテーターとアクセサーを使用して、モデルのフィールドに追加の動作を実装できます。基本的に、それらは値をある形式から別の形式に変換します。たとえば、Doctrine のドキュメントを見ると、md5Password mutator が指定されています。Mutator は、フィールドに値を設定するたびに、Doctrine が指定された mutator メソッドを呼び出すことを意味します。だからあなたがするときはいつでも:
$user->password = 'foobar';
Doctrine はモデルの md5Password() を呼び出すため、'foobar' は md5('foobar') に変換されます。簡単に言えば、これにより、パスワードが常にソフトウェアレベルでハッシュされることが保証されます。
アクセサーはミューテーターの反対です。フィールドが設定されるのではなく、読み取られるときに呼び出されます (たとえば、データベースから行が読み取られるとき)。