Найдено 214 результатов
- 2017.04.21, 20:29
- Форум: Общие вопросы (Yii 2.x)
- Тема: Как заинжектить трейт в объект
- Ответы: 44
- Просмотры: 16605
Re: Как заинжектить трейт в объект
так о том и речь, что обсуждаем то, чего нет. Поразбирался с рефлексией - не получилось ничего. Но все-таки нашел способ сделать так, чтобы все работало как раньше (с динамическим инжектом и отжектом). Но только со статическими методами и свойствами :) <?php //Упрощенный yii::$app class Yii { publi...
- 2017.04.21, 19:56
- Форум: Общие вопросы (Yii 2.x)
- Тема: Как заинжектить трейт в объект
- Ответы: 44
- Просмотры: 16605
Re: Как заинжектить трейт в объект
их и не надо аттачить. Поведения много где использовались, но теперь есть для каждого использования поведений современные кейсы. например к моделям AR - обычные трейты, поведения реквеста - миддлвари итд. Подумал еще немного - действительно, по-настоящему важных кейсов, где нужно аттачить динамичес...
- 2017.04.21, 19:45
- Форум: Общие вопросы (Yii 2.x)
- Тема: Как заинжектить трейт в объект
- Ответы: 44
- Просмотры: 16605
Re: Как заинжектить трейт в объект
я спрашиваю, где вы динамически аттачите трейты? трейты не аттачатся динамически. и $this->owner не нужен. В yii\base\Component, как и раньше (магией __call). Вот только как вытащить метод из трейта - хз, инстанс трейта не создается, только если рефлексией как-то. Попробую ради интереса. При вызове...
- 2017.04.21, 19:25
- Форум: Общие вопросы (Yii 2.x)
- Тема: Как заинжектить трейт в объект
- Ответы: 44
- Просмотры: 16605
Re: Как заинжектить трейт в объект
Я все это веду к тому, что если будут использовать не $this, а $this->owner, то можно будет по-старому инжектить методы трейтов: $object->attachTrait(); так как инжектить? пример выше - это обычное использование трейтов. там же нет динамического аттача. При вызове несуществующего метода, можно возв...
- 2017.04.21, 19:19
- Форум: Общие вопросы (Yii 2.x)
- Тема: Как заинжектить трейт в объект
- Ответы: 44
- Просмотры: 16605
Re: Как заинжектить трейт в объект
$this->owner в трейте не нужен. У трейта владелец - это сам $this. С трейтами плотно не работал. Код из трейта через use вставляется в класс также, как include и require для кода файлов. Я все это веду к тому, что если будут использовать не $this, а $this->owner, то можно будет по-старому инжектить...
- 2017.04.21, 19:12
- Форум: Общие вопросы (Yii 2.x)
- Тема: Как заинжектить трейт в объект
- Ответы: 44
- Просмотры: 16605
- 2017.04.21, 18:54
- Форум: Общие вопросы (Yii 2.x)
- Тема: Как заинжектить трейт в объект
- Ответы: 44
- Просмотры: 16605
Re: Как заинжектить трейт в объект
Проверил - вроде как можно. Поведения YII не так устроены сейчас? UPD: убрал магию, сейчас проверю, насколько она присуща трейтам. <?php //Упрощенный yii::$app class Yii { public static $app = []; } //Упрощенный yii\base\Trait trait YiiTrait { function getOwner() { return Yii::$app['Obj']; } } //Пол...
- 2017.04.21, 18:23
- Форум: Общие вопросы (Yii 2.x)
- Тема: Как заинжектить трейт в объект
- Ответы: 44
- Просмотры: 16605
Re: Как заинжектить трейт в объект
Поведения переименуют в трейты. Дропнут behaviors().
Если правильно это представляю, $this->owner возьмется из yii\base\Trait (вместо yii\base\Behavior), который будет заюзан из основного трейта.
Буду рад, если кто-то поправит и объяснит, можно ли так. С трейтами плотно не работал.
Если правильно это представляю, $this->owner возьмется из yii\base\Trait (вместо yii\base\Behavior), который будет заюзан из основного трейта.
Буду рад, если кто-то поправит и объяснит, можно ли так. С трейтами плотно не работал.
- 2017.04.21, 14:08
- Форум: Общие вопросы (Yii 2.x)
- Тема: Как заинжектить трейт в объект
- Ответы: 44
- Просмотры: 16605
Re: Как заинжектить трейт в объект
Понял. Значит аттач работать будет старым способом, магией. Просто удалят behaviors() метод. Из этого: Try to use traits + events instead of behaviors and drop behaviors. складывается больше ощущение что полностью поведения хотят удалить. Будет жаль, если уберут. Хорошая фича, чтобы, например, быст...
- 2017.04.21, 11:51
- Форум: Общие вопросы (Yii 2.x)
- Тема: Как заинжектить трейт в объект
- Ответы: 44
- Просмотры: 16605
Re: Как заинжектить трейт в объект
Понял. Значит аттач работать будет старым способом, магией. Просто удалят behaviors() метод.
Всем спасибо.
Всем спасибо.
- 2017.04.21, 08:52
- Форум: Общие вопросы (Yii 2.x)
- Тема: Как заинжектить трейт в объект
- Ответы: 44
- Просмотры: 16605
Как заинжектить трейт в объект
https://github.com/yiisoft/yii2/wiki/Pl ... r-versions - в YII планируется замена поведений на трейты.
А каким образом может быть проинжектен и отинжектен трейт для объекта? $object->attachTrait();? Такой же магией, что и с поведениями или есть какой-то более цивилизованный метод?
А каким образом может быть проинжектен и отинжектен трейт для объекта? $object->attachTrait();? Такой же магией, что и с поведениями или есть какой-то более цивилизованный метод?
- 2017.04.18, 11:05
- Форум: Новости, события, встречи
- Тема: YiiConf 2017
- Ответы: 22
- Просмотры: 11038
Re: YiiConf 2017
Вряд ли смогу, но если найдутся свободные 2 дня, обязательно приеду. Ждем полный список докладов
Интересные темы (для меня):
* Обзор полезных расширений, которые упростят и ускорят разработку
* Практика ускорения и оптимизации проекта, рефакторинг
Интересные темы (для меня):
* Обзор полезных расширений, которые упростят и ускорят разработку
* Практика ускорения и оптимизации проекта, рефакторинг
- 2017.04.17, 17:52
- Форум: Архитектура, дизайн, ООП
- Тема: Проектирование сущностей, сервисов и репозиториев
- Ответы: 108
- Просмотры: 50018
Re: Проектирование сущностей, сервисов и репозиториев
Спасибо. Попробую попрактиковаться на боевом примере.
- 2017.04.17, 13:16
- Форум: Архитектура, дизайн, ООП
- Тема: Проектирование сущностей, сервисов и репозиториев
- Ответы: 108
- Просмотры: 50018
Re: Проектирование сущностей, сервисов и репозиториев
А если у сущности Employee 30 полей и каждый месяц добавляется новое из того, что "забыли" при проектировании? Через конструтор все передавать и каждый раз не забывать во всех других сервисных классах добавлять передачу в конструтор? Или есть какая-то хорошая практика для таких сложных сущ...
- 2017.04.17, 10:15
- Форум: Архитектура, дизайн, ООП
- Тема: Архитектура CMS
- Ответы: 19
- Просмотры: 7016
Re: Архитектура CMS
Тут просто начать бы пока, до конца доведем))) Зачем оно вам надо, если сами выше сказали что создание своей цмс - это не более чем баловство и откладывание задачи поиска постоянки на дядю. И альтернативы этому нет, т.к. если встретится задача создания современного(с управлением контента) сайта под...
- 2017.04.17, 08:48
- Форум: Архитектура, дизайн, ООП
- Тема: Архитектура CMS
- Ответы: 19
- Просмотры: 7016
Re: Архитектура CMS
Для разработчика - это просто прокрастинация и праздное прожигание жизни. А прокрастинация чего? Написания собственной CMS? Типа все равно когда-нибудь придется писать или пока не написал не станешь топовым разрабом? Когда был фрилансером, я писал свои CMS для удовлетворение любознательности по фак...
- 2017.04.17, 06:29
- Форум: Архитектура, дизайн, ООП
- Тема: Архитектура CMS
- Ответы: 19
- Просмотры: 7016
Re: Архитектура CMS
По мне так есть два типа проектов - типовые сайты/магазины и кастомные бизнес-системы. Для первого - CMS. Для второго - фремворки. Городить свою cms - заведомо плохой вариант. Для разработчика - это просто прокрастинация и праздное прожигание жизни. Для вебстудии - дополнительный канал продаж и уде...
- 2017.04.16, 12:44
- Форум: Авторский код и библиотеки
- Тема: Очередная CMS
- Ответы: 17
- Просмотры: 24068
Re: Очередная CMS
Это скорее скелетон, нежели CMS? Вижу, что в качестве модулей ты используешь многие мои (@ pistol88 ), наверняка что-то улучшил. Просто скопировал себе, теперь они будут развиваться независимо, в твоей ветке. Лучше бы подключать их через компосер и делать пулл-реквесты, чтобы совместными уcилиями о...
- 2017.04.16, 10:44
- Форум: Архитектура, дизайн, ООП
- Тема: Архитектура CMS
- Ответы: 19
- Просмотры: 7016
Re: Архитектура CMS
Да. В итоге я тоже пришел к событиям. Просто в конфиге подписываюсь на событие модуля: 'on delete' => function($event) { yii::$app->comments->deleteByOwner($event->owner_id); } Все это в принципе можно вынести в админку. Но тогда это будет действительно CMF, для пользователя CMS будет неочевидно, чт...
- 2017.04.16, 10:20
- Форум: Архитектура, дизайн, ООП
- Тема: Архитектура CMS
- Ответы: 19
- Просмотры: 7016
Re: Архитектура CMS
Конкретного вопроса пока что нет. Хочу услышать советы о том, как найти компромис между скоростью натяжки верстки, производительностью и возможностями кастомизации для систем управления страницами сайта. А что, эти вещи связаны? По моему опыту, чтобы написать какой-то кастомный фильтр по данным в C...