2

私はこの回答ZF2を読みましたが、ベンダーモジュールのフォームクラスを操作するためのベストプラクティスは何ですか?。したがって、ベンダーモジュールの構成可能な部分を変更する方法は主に明確ですが、zfcUserモジュールでエンティティ/ユーザーに新しい機能を追加したい場合はどうすればよいですか?

要するに、ユーザーの役割を確認したいのですが、DBフィールドに追加しましたが、それを行うための最良の方法は何ですか?たぶん私はそれをzfcUSerではなくどこか別の場所で行うべきですか?

4

2 に答える 2

6

を見てみましょう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を変更します。

于 2013-03-25T15:47:10.060 に答える
2

これがベストプラクティスであるとは言いませんが、これが状況に対処する方法です。最初に-この質問に答えてくれてありがとうZF2:ZfcUserモジュールのカスタムユーザーマッパー

だから、私はしました:

  1. 自動ロードでの構成を追加zfcUser/Entityしましたzfc-user.global.php
    'zfcuser' => array(
        'tableName' =>'users'、
        'user_entity_class' =>'Application \ Entity \ User'
    )、
    
  2. のクラスを、Entity\UserエンティティMapper\Userとマッパーのサブフォルダーに追加しました。Mapper\Hydratorsrc/Application
  3. それらのクラスの名前空間を更新してApplication\EntityApplication\Mapper
  4. 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;
        },
    ]
    
  5. 使用するクラスの依存関係を更新し、としてZfcUSer開始しました。Entity\Userextends \ZfcUser\Entity\User implements \ZfcUser\Entity\UserInterface
于 2013-03-30T21:13:11.777 に答える