Найдено 214 результатов

pistol
2017.04.21, 20:29
Форум: Общие вопросы (Yii 2.x)
Тема: Как заинжектить трейт в объект
Ответы: 44
Просмотры: 10771

Re: Как заинжектить трейт в объект

так о том и речь, что обсуждаем то, чего нет. Поразбирался с рефлексией - не получилось ничего. Но все-таки нашел способ сделать так, чтобы все работало как раньше (с динамическим инжектом и отжектом). Но только со статическими методами и свойствами :) <?php //Упрощенный yii::$app class Yii { publi...
pistol
2017.04.21, 19:56
Форум: Общие вопросы (Yii 2.x)
Тема: Как заинжектить трейт в объект
Ответы: 44
Просмотры: 10771

Re: Как заинжектить трейт в объект

их и не надо аттачить. Поведения много где использовались, но теперь есть для каждого использования поведений современные кейсы. например к моделям AR - обычные трейты, поведения реквеста - миддлвари итд. Подумал еще немного - действительно, по-настоящему важных кейсов, где нужно аттачить динамичес...
pistol
2017.04.21, 19:45
Форум: Общие вопросы (Yii 2.x)
Тема: Как заинжектить трейт в объект
Ответы: 44
Просмотры: 10771

Re: Как заинжектить трейт в объект

я спрашиваю, где вы динамически аттачите трейты? трейты не аттачатся динамически. и $this->owner не нужен. В yii\base\Component, как и раньше (магией __call). Вот только как вытащить метод из трейта - хз, инстанс трейта не создается, только если рефлексией как-то. Попробую ради интереса. При вызове...
pistol
2017.04.21, 19:25
Форум: Общие вопросы (Yii 2.x)
Тема: Как заинжектить трейт в объект
Ответы: 44
Просмотры: 10771

Re: Как заинжектить трейт в объект

Я все это веду к тому, что если будут использовать не $this, а $this->owner, то можно будет по-старому инжектить методы трейтов: $object->attachTrait(); так как инжектить? пример выше - это обычное использование трейтов. там же нет динамического аттача. При вызове несуществующего метода, можно возв...
pistol
2017.04.21, 19:19
Форум: Общие вопросы (Yii 2.x)
Тема: Как заинжектить трейт в объект
Ответы: 44
Просмотры: 10771

Re: Как заинжектить трейт в объект

$this->owner в трейте не нужен. У трейта владелец - это сам $this. С трейтами плотно не работал. Код из трейта через use вставляется в класс также, как include и require для кода файлов. Я все это веду к тому, что если будут использовать не $this, а $this->owner, то можно будет по-старому инжектить...
pistol
2017.04.21, 19:12
Форум: Общие вопросы (Yii 2.x)
Тема: Как заинжектить трейт в объект
Ответы: 44
Просмотры: 10771

Re: Как заинжектить трейт в объект

pistol писал(а):
2017.04.21, 18:54
сейчас проверю, насколько она присуща трейтам.
Вся магия работает также, как в классах.
pistol
2017.04.21, 18:54
Форум: Общие вопросы (Yii 2.x)
Тема: Как заинжектить трейт в объект
Ответы: 44
Просмотры: 10771

Re: Как заинжектить трейт в объект

Проверил - вроде как можно. Поведения YII не так устроены сейчас? UPD: убрал магию, сейчас проверю, насколько она присуща трейтам. <?php //Упрощенный yii::$app class Yii { public static $app = []; } //Упрощенный yii\base\Trait trait YiiTrait { function getOwner() { return Yii::$app['Obj']; } } //Пол...
pistol
2017.04.21, 18:23
Форум: Общие вопросы (Yii 2.x)
Тема: Как заинжектить трейт в объект
Ответы: 44
Просмотры: 10771

Re: Как заинжектить трейт в объект

Поведения переименуют в трейты. Дропнут behaviors().
Если правильно это представляю, $this->owner возьмется из yii\base\Trait (вместо yii\base\Behavior), который будет заюзан из основного трейта.

Буду рад, если кто-то поправит и объяснит, можно ли так. С трейтами плотно не работал.
pistol
2017.04.21, 14:08
Форум: Общие вопросы (Yii 2.x)
Тема: Как заинжектить трейт в объект
Ответы: 44
Просмотры: 10771

Re: Как заинжектить трейт в объект

Понял. Значит аттач работать будет старым способом, магией. Просто удалят behaviors() метод. Из этого: Try to use traits + events instead of behaviors and drop behaviors. складывается больше ощущение что полностью поведения хотят удалить. Будет жаль, если уберут. Хорошая фича, чтобы, например, быст...
pistol
2017.04.21, 11:51
Форум: Общие вопросы (Yii 2.x)
Тема: Как заинжектить трейт в объект
Ответы: 44
Просмотры: 10771

Re: Как заинжектить трейт в объект

Понял. Значит аттач работать будет старым способом, магией. Просто удалят behaviors() метод.

Всем спасибо.
pistol
2017.04.21, 08:52
Форум: Общие вопросы (Yii 2.x)
Тема: Как заинжектить трейт в объект
Ответы: 44
Просмотры: 10771

Как заинжектить трейт в объект

https://github.com/yiisoft/yii2/wiki/Pl ... r-versions - в YII планируется замена поведений на трейты.

А каким образом может быть проинжектен и отинжектен трейт для объекта? $object->attachTrait();? Такой же магией, что и с поведениями или есть какой-то более цивилизованный метод?
pistol
2017.04.18, 11:05
Форум: Новости, события, встречи
Тема: YiiConf 2017
Ответы: 22
Просмотры: 7896

Re: YiiConf 2017

Вряд ли смогу, но если найдутся свободные 2 дня, обязательно приеду. Ждем полный список докладов :)

Интересные темы (для меня):
* Обзор полезных расширений, которые упростят и ускорят разработку
* Практика ускорения и оптимизации проекта, рефакторинг
pistol
2017.04.17, 17:52
Форум: Архитектура, дизайн, ООП
Тема: Проектирование сущностей, сервисов и репозиториев
Ответы: 108
Просмотры: 33089

Re: Проектирование сущностей, сервисов и репозиториев

Спасибо. Попробую попрактиковаться на боевом примере.
pistol
2017.04.17, 13:16
Форум: Архитектура, дизайн, ООП
Тема: Проектирование сущностей, сервисов и репозиториев
Ответы: 108
Просмотры: 33089

Re: Проектирование сущностей, сервисов и репозиториев

А если у сущности Employee 30 полей и каждый месяц добавляется новое из того, что "забыли" при проектировании? Через конструтор все передавать и каждый раз не забывать во всех других сервисных классах добавлять передачу в конструтор? Или есть какая-то хорошая практика для таких сложных сущностей (кр...
pistol
2017.04.17, 10:15
Форум: Архитектура, дизайн, ООП
Тема: Архитектура CMS
Ответы: 19
Просмотры: 4919

Re: Архитектура CMS

Тут просто начать бы пока, до конца доведем))) Зачем оно вам надо, если сами выше сказали что создание своей цмс - это не более чем баловство и откладывание задачи поиска постоянки на дядю. И альтернативы этому нет, т.к. если встретится задача создания современного(с управлением контента) сайта под...
pistol
2017.04.17, 08:48
Форум: Архитектура, дизайн, ООП
Тема: Архитектура CMS
Ответы: 19
Просмотры: 4919

Re: Архитектура CMS

Для разработчика - это просто прокрастинация и праздное прожигание жизни. А прокрастинация чего? Написания собственной CMS? Типа все равно когда-нибудь придется писать или пока не написал не станешь топовым разрабом? Когда был фрилансером, я писал свои CMS для удовлетворение любознательности по фак...
pistol
2017.04.17, 06:29
Форум: Архитектура, дизайн, ООП
Тема: Архитектура CMS
Ответы: 19
Просмотры: 4919

Re: Архитектура CMS

По мне так есть два типа проектов - типовые сайты/магазины и кастомные бизнес-системы. Для первого - CMS. Для второго - фремворки. Городить свою cms - заведомо плохой вариант. Для разработчика - это просто прокрастинация и праздное прожигание жизни. Для вебстудии - дополнительный канал продаж и уде...
pistol
2017.04.16, 12:44
Форум: Авторский код и библиотеки
Тема: Очередная CMS
Ответы: 16
Просмотры: 5913

Re: Очередная CMS

Это скорее скелетон, нежели CMS? Вижу, что в качестве модулей ты используешь многие мои (@ pistol88 ), наверняка что-то улучшил. Просто скопировал себе, теперь они будут развиваться независимо, в твоей ветке. Лучше бы подключать их через компосер и делать пулл-реквесты, чтобы совместными уcилиями о...
pistol
2017.04.16, 10:44
Форум: Архитектура, дизайн, ООП
Тема: Архитектура CMS
Ответы: 19
Просмотры: 4919

Re: Архитектура CMS

Да. В итоге я тоже пришел к событиям. Просто в конфиге подписываюсь на событие модуля: 'on delete' => function($event) { yii::$app->comments->deleteByOwner($event->owner_id); } Все это в принципе можно вынести в админку. Но тогда это будет действительно CMF, для пользователя CMS будет неочевидно, чт...
pistol
2017.04.16, 10:20
Форум: Архитектура, дизайн, ООП
Тема: Архитектура CMS
Ответы: 19
Просмотры: 4919

Re: Архитектура CMS

Конкретного вопроса пока что нет. Хочу услышать советы о том, как найти компромис между скоростью натяжки верстки, производительностью и возможностями кастомизации для систем управления страницами сайта. А что, эти вещи связаны? По моему опыту, чтобы написать какой-то кастомный фильтр по данным в C...