Igor
но есть и древнее
Igor
cakephp
Albert
Так это же другой фреймворк)
Igor
да другой
Dmitriy
а есть у когото опыт разработки личного кабинета ?
Как обычно вопросы будут в личке ? Или какой вопрос то
Dmitriy
backend/frontend/common и есть модуль. backend не знает о frontend, а frontend о backend. А common о frontend и backend. Все хорошо разделено. Не нужно создавать кучу модулей по ответственности, когда это не нужно.
Мне модули backend/frontend/common напоминают бандлы вы симфони. Когда модуль api, front еще 100500 бандлов зависят от CoreBandle. Вроде они пытаются разделить приложение, а получается не очень, все равно зависимость есть от CoreBandle. Получается common как "модуль" не самодостаточен. И адвантед шаблон это попытка уйти от проблем "не возможности положить контроллер в субдерикторию" без костылей. Что думаешь @zelenin
Igor
Как обычно вопросы будут в личке ? Или какой вопрос то
Вобще хотелось посмотреть на реализацию как он организован внутри ... может остались демки с проэкта, поклацать -)
Aleksandr
@ExileeD сразу оговорюсь по терминологии - под модулем я имею в виду термин, используемый в книгах по программированию в общем - логически выделяемый пакет схожего функционала. бандлы в симфони - это обычно реализация модуля в контексте симфони, как модуль yii - реализация модуля в контексте yii. Как должно быть - должен быть независимый модуль + бридж в любом виде к конкретному фреймворку - фреймворкозависимые адаптеры, экшны и прочая шелуха (не бизнес-логика). Такие реализации есть например в виде какой-либо независимой либы (Doctrine) плюс например бандла для симфони (DoctrineBundle). Что в контексте выше сказанного такое common, frontend, backend? ничего. Зависимость от CoreBundle? зависеть должны адаптеры модуля к фреймворку - это нормально.
Dmitriy
@ExileeD сразу оговорюсь по терминологии - под модулем я имею в виду термин, используемый в книгах по программированию в общем - логически выделяемый пакет схожего функционала. бандлы в симфони - это обычно реализация модуля в контексте симфони, как модуль yii - реализация модуля в контексте yii. Как должно быть - должен быть независимый модуль + бридж в любом виде к конкретному фреймворку - фреймворкозависимые адаптеры, экшны и прочая шелуха (не бизнес-логика). Такие реализации есть например в виде какой-либо независимой либы (Doctrine) плюс например бандла для симфони (DoctrineBundle). Что в контексте выше сказанного такое common, frontend, backend? ничего. Зависимость от CoreBundle? зависеть должны адаптеры модуля к фреймворку - это нормально.
У тебя общение между модулями проходит через события ? Или как ты строишь архитектуру на yii2. Как по мне core, common в модулях, бандлах это не очень хорошо
Dmitriy
подходы разные. я не говорил про core, common в модулях.
Интересно услышать про твой подход, если конечно у тебя есть желание и время. А то проблема в yii2 сообществе, нету толковых проектов в ОS.
Aleksandr
ddd, es, cqrs - вот такое люблю. можно книжки почитать. на yii2 не пишу, но реализация архитектуры от фреймворков не зависит. если есть более конкретные вопросы, я за.
Aleksandr
domain
👀
расшифруйте аббревиатуры, пожалуйста для совсем нуба, не знающего теорию :)
Aleksandr
domain driven design, event sourcing, command query responsibility segregation
Aleksandr
если не путаю. гуглятся на раз-два
👀
спасибо, обязательно погуглю и почитаю
Aleksandr
начинать изучение с первого - волосы сразу станут шелковистыми
👀
ибо знания архитектуры ограничиваются практическими навыками
Dmitriy
ddd, es, cqrs - вот такое люблю. можно книжки почитать. на yii2 не пишу, но реализация архитектуры от фреймворков не зависит. если есть более конкретные вопросы, я за.
Тут скорее вопрос как люди разделяют api, front и т.д В других фреймах я разделяю неймспейсами. А тут контроллеры не положишь в отдельный неймспейс. даже в субдиректорию нельзя. Не знаю понятно ли я обьясняю.
Aleksandr
где тут? в yii2? в реализации модуля?
Dmitriy
Просто в yii2.
Aleksandr
в yii2 можно контроллеры куда угодно класть. есть же controllerNamespace или что-то такое
Dmitriy
Там нельзя так Admin/DashboardController, Api/UserController Вложености нету.
Aleksandr
да как нельзя, если можно?
Aleksandr
ну кароч исхитриться можно если даже нельзя (в Module::init() переопределять например - не суть)
Dmitriy
https://github.com/yiisoft/yii2/issues/1520 без костылей этого не добиться
Aleksandr
ну и не надо. размещай плоско.
Ilya 🃏
Немного не понял
Ilya 🃏
https://github.com/yiisoft/yii2/pull/13517#issuecomment-279949801
Ilya 🃏
Это он предложил или так уже можно сейчас делать?
Ilya 🃏
Нарооод
Ilya 🃏
Так сейчас этого нет в реализации?
Artur‌‌‌
narod.ru
Ilya 🃏
Я просто не могу найти, но может кто знает
Aleksandr
Я просто не могу найти, но может кто знает
просто вставь в код и проверь
Ilya 🃏
На данный момент нет возможности, поэтому и пишу суда
Aleksandr
Ilya 🃏
👍
Ilya 🃏
Юмористов в этой конфе так не хватало, что просто хочется подождать ответа других
Artur‌‌‌
Artur‌‌‌
я так понял, что можно
Ilya 🃏
Потестил или как?
Artur‌‌‌
нет, по его словам
Zhandos
Кто нибудь делал проект со стримингом видео?
Sergey
Кто нибудь делал проект со стримингом видео?
Делал, но это к yii и php сложно привязать
Zhandos
На чем такие проекты делаются?
Sergey
Nginx rtmp
Sergey
Сейчас бесплатных альтернатив ему нет
Andrey
Консольный vlc
SiZE
RSTP + webrtc где-то статья была на ГТ по видеонаблюдению помоему
Anonymous
Ребят такой вопрос: Как правильно организовать обработку событий? Есть два модуля, первый вызывает какое то событие через \Yii::$app->trigger('eventName') А второй модуль должен это событие отловить и в зависимости от своих настроек обработать его или пропустить "мимо ушей"
Anonymous
соль в том что модули подключаются динамические. т.е. в конфиге все модули будут описаны, а вот будет ли модуль работать(и обрабатывать события) зависит от того включен ли он в админ. панели
Anonymous
пробовал такую конструкцию при инициализации второго модуля. public function init() { if($this->moduleEnabled) { self::on('cart.create', 'createCartHandler'); parent::init(); } } но ничего не произошло
Anonymous
это заготовка, если модуль отключен в админке, зачем мне вообще что то с ним делать?
Sergey
потому что он может наследоваться от другого модуля?
Anonymous
он не наследуется от другого модуля :)
Sergey
тогда откуда у него parent
Anonymous
autogenerated
Anonymous
в любом случае это не касается моего вопроса
Sergey
ну ладно, это эстетическое, в java parent:: должен вообще первой функцией вызываться
Sergey
а по твоему вопросу - откуда взялась запись self::on
Anonymous
из документации
Sergey
можно ссылку?
Anonymous
можно ссылку?
погоди, тебе есть чем помочь? или мы будем обсуждать эстетику кода?
Sergey
погоди, тебе есть чем помочь? или мы будем обсуждать эстетику кода?
ок, хочешь односторонее общение - читай http://www.yiiframework.com/doc-2.0/guide-concept-events.html
Sergey
и сравни с тем что у тебя написано
Anonymous
и сравни с тем что у тебя написано
ты сам то реализховывал обработку событий в собственных модулях?
Anonymous
в доку отправить может каждый, думаю каждый с неё и начинает
Anonymous
но теория - одно, а практическое применение - совсем другое
Anonymous
вопрос был именно к тем кто применял это на практике
Sergey
вопрос был именно к тем кто применял это на практике
на практике у тебя неправильный код, в документации на yiiframework.com события по другому описаны, откуда ты их взял - ты не хочешь говорить
Anonymous
давай переформулирую вопрос: как повесить обработчик событий при инициализации модуля? не в конфиге!! а именно в методе инициализации модуля
Anonymous
а вообще забей) повешу обработчики в конфиге, а потом просто буду проверять включен ли модуль
Artur‌‌‌
Anonymous
да не, фигня идея) Yii поразительный фреймворк который так и просит наговнякать))