По сути задача сводится к созданию анонимного объекта в рантайме. Можно определить пустой класс (var a = new {};) и потом через рефлексии создать наследника этого класса, который уже будет содержать все необходимые поля.
>>Нет, методы трейтов можно переопределять в классе. Зачем рассуждать и дискутировать, не зная предмет?
То что определенный в классе метод выше по приоритету чем то, что объявляется в трейте еще ничего не говорит о полезности. Реализация трейтов в PHP все же отличается от общепринятой.
>>Вы ведь пользовались Yii, поведения (Behaviors) в нем по сути и есть реализация идеологии трейтов.
Бихейверы в Yii это попытка реализовать примеси, а трейты это совершенно другой механизм. Разработчики YII отказались от затеи применять трейты для поведений.
Сравнивать статические классы и трейты вообще бессмысленно. Трейты — это вещь выполняющаяся на уровне парсинга, так же как и дефайны в сях. Это удобно, тут не спорю. Но обычно если при проектировании системы очень нужды трейты и много — то это значит что что-то пошло не так. Или я не прав?
удивитесь как много проблем с таблицами на всяких там iPadах и андроидах. Это просто ад.
Да и сейчас адаптивный дизайн это модно, стильно и молодежно. А с таблицами это хоть и реально, но бред.