私のエンティティとドキュメントはすべて、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 インターフェイスの使用が指摘されていましたが、それを使用する最善の方法が何であるかはわかりません。
ありがとう、ジェームズ