1

私のエンティティとドキュメントはすべて、BaseObject クラスを拡張します (これは、getId()、getClassName()、およびいくつかの便利なショートカットを処理します)。

トレイトの静的配列を追加したので、フォームと検証ルールをその場で追加するときに、これらのトレイトを反復処理できます。

/**
 * Class BaseObject
 */
abstract class BaseObject
{
    protected $id;

    public static $traits = ['blame', 'time', 'live', 'when', 'where', 'ugc', 'security'];
...

ただし、ログインしようとすると、次のエラーが表示されます-

*注意: serialize(): "traits" が __sleep() からメンバ変数として返されましたが、... symfony/symfony/src/Symfony/Component/Security/Core/Authentication/Token/AbstractToken.php 行 149 には存在しません*

この特性のリストを別の場所に保存する必要がありますか、それとも他に何かすべきことがありますか? 一部の投稿では、Serializable インターフェイスの使用が指摘されていましたが、それを使用する最善の方法が何であるかはわかりません。

ありがとう、ジェームズ

4

0 に答える 0