私はこの回答ZF2を読みましたが、ベンダーモジュールのフォームクラスを操作するためのベストプラクティスは何ですか?。したがって、ベンダーモジュールの構成可能な部分を変更する方法は主に明確ですが、zfcUserモジュールでエンティティ/ユーザーに新しい機能を追加したい場合はどうすればよいですか?
要するに、ユーザーの役割を確認したいのですが、DBフィールドに追加しましたが、それを行うための最良の方法は何ですか?たぶん私はそれをzfcUSerではなくどこか別の場所で行うべきですか?
私はこの回答ZF2を読みましたが、ベンダーモジュールのフォームクラスを操作するためのベストプラクティスは何ですか?。したがって、ベンダーモジュールの構成可能な部分を変更する方法は主に明確ですが、zfcUserモジュールでエンティティ/ユーザーに新しい機能を追加したい場合はどうすればよいですか?
要するに、ユーザーの役割を確認したいのですが、DBフィールドに追加しましたが、それを行うための最良の方法は何ですか?たぶん私はそれをzfcUSerではなくどこか別の場所で行うべきですか?
を見てみましょうZfcUser/config/zfcuser.global.php.dist
そこにあなたはこれを見るでしょう
/**
* User Model Entity Class
*
* Name of Entity class to use. Useful for using your own entity class
* instead of the default one provided. Default is ZfcUser\Entity\User.
* The entity class should implement ZfcUser\Entity\UserInterface
*/
//'user_entity_class' => 'ZfcUser\Entity\User',
指示は簡単です。ファイルをにコピーし./config/autoload/zfcuser.global.php
、エンティティクラスがを実装していることを確認し、ZfcUser\Entity\UserInterface
その行のコメントを解除して、代わりに使用するエンティティに一致するようにFQCNを変更します。
これがベストプラクティスであるとは言いませんが、これが状況に対処する方法です。最初に-この質問に答えてくれてありがとうZF2:ZfcUserモジュールのカスタムユーザーマッパー。
だから、私はしました:
zfcUser/Entity
しましたzfc-user.global.php
:
'zfcuser' => array( 'tableName' =>'users'、 'user_entity_class' =>'Application \ Entity \ User' )、
Entity\User
エンティティMapper\User
とマッパーのサブフォルダーに追加しました。Mapper\Hydrator
src/Application
Application\Entity
、Application\Mapper
getServiceConfig
私の機能にこの構成を追加しましたModule.php
:
'factories' => [
'zfcuser_user_mapper' => function ($sm) {
$mapper = new Mapper\User();
$mapper->setDbAdapter($sm->get('Zend\Db\Adapter\Adapter'));
$mapper->setEntityPrototype(new Entity\User());
$mapper->setHydrator(new Mapper\UserHydrator());
return $mapper;
},
]
ZfcUSer
開始しました。Entity\User
extends \ZfcUser\Entity\User implements \ZfcUser\Entity\UserInterface