👀
хотел-бы я, чтобы ОАЭ было СНГ)
Dmitriy
В других странах фреймом пользуется 2.5 человека.
Dmitriy
Ну это уже вне темы
👀
опять же, выше кто-то писал, давно-давно, что для разного уровня проектов лучше выбирать своё
кому-то нужно что-то быстро и "дёшево" сделать - yii
что-то среднее - лара
что-то посложнее - симфа
Dmitriy
👀
в общем, мы начали холивар на тему "basic vs advanced" а сейчас вы доказываете что yii говно)
👀
немного не туда повернул наш диалог)
Vasily
advanced нужен, когда не нужны модули
👀
я просто пытаюсь объяснить рациональность использования advanced шаблона в тех случаях, когда basic будет строиться на одних модулях
Dmitriy
Единственный плюс адвантеда это он помогает решить "проблемы" фрейма
Dmitriy
Вот в симфони бандлы, тоже используют не понятно как. и введение их было ошибкой
knifeblade
who are you
да
knifeblade
виды в апи? )
👀
Единственный плюс адвантеда это он помогает решить "проблемы" фрейма
никто же не агитирует за использование того или инного шаблона, тех или инных подходов
самый правильный подход (в рамках MVC фреймворка) - использование парадигмы MVC, а как она будет реализована - разными приложениями, или разными модулями - зависит только от разработчика
также и с любым другим функционалом: не нравятся виджеты - не используйте виджеты, не нравятся миграции - не используйте миграции)
knifeblade
http://joxi.ru/E2pL1E0TZk9o2Y
knifeblade
примерно так в апи
who are you
ты не понял, я про структуру стандартную. модуль должен состоять из тех же моделей контрлоллеров и видов а у тебя там вообще шурум бурум )))
Dmitriy
https://github.com/yiisoft/yii2/issues/1467
только после этого issues а лучше сделать чтобы контроллеры, как и все остальные классы, могли быть размещены в произвольных местах и неймспейсах.
Тогда можно забыть о всяких адвантедах
👀
knifeblade
Dmitriy
who are you
http://joxi.ru/nAyQxvZS1qoaAZ
я тут не вижу папку controllers в модуле api
who are you
я про это говорю а не про виды
👀
там, скорее всего, в субдиректориях отдельно модули
who are you
не вижу там же папки models
knifeblade
кто мне мешает на модулях строить структуру? )
who are you
там только одна папка v1
👀
типа роутинг
/api/v1/category/<контроллер>
who are you
мешает инструкция что в yii принято делать эти папки в модулях ))
knifeblade
http://joxi.ru/zAN4YzNUDqjPm9
who are you
а их там нет у тебя и меня это озадачило)))
👀
api как модуль, v1 как модуль, и внутри каждой директории ещё модуль
а инструкции - это всего-лишь набор рекомендаций
👀
knifeblade
👀
давайте, раз нас здесь уже много, вы мне подскажите такую вещь: кто-то сталкивался с стилизацией recaptcha?
Dmitriy
👀
who are you
сам небось балушься
не знал что можно так модуль внутри модуля 👀 а модель внутри модели? или контроллер внутри контроллера? есть еще какие то такие штуки не по инструкции? 😄
Nurik
Блин вот же холивар. Зря я вкинул такой вопросик))
А вообще всем советую иметь своё мнение, а не "внедренную идею", которая кажется твоей.))
Если я вижу, что я могу тут накосячить, я от себя самого же пишу защиту, т.е. меняю что-то что может избавить в будущем от ошибок, если это приживается и имеет мало побочных эффектов, я использую дальше, иначе ищу дальше. Таким образом архитектура сама собирается с учетом ограничений и возникают вопросы, что уже хорошо.
who are you
knifeblade
👀
Блин вот же холивар. Зря я вкинул такой вопросик))
А вообще всем советую иметь своё мнение, а не "внедренную идею", которая кажется твоей.))
Если я вижу, что я могу тут накосячить, я от себя самого же пишу защиту, т.е. меняю что-то что может избавить в будущем от ошибок, если это приживается и имеет мало побочных эффектов, я использую дальше, иначе ищу дальше. Таким образом архитектура сама собирается с учетом ограничений и возникают вопросы, что уже хорошо.
ну я писал, основываясь на своём мнении, так как уже не один проект сделал на базе advanced'а, и для меня такое разделение было удобно
но при этом, для некоторых проектов, использую также и basic - когда не нужно делать никакого разделения
Dmitriy
Блин вот же холивар. Зря я вкинул такой вопросик))
А вообще всем советую иметь своё мнение, а не "внедренную идею", которая кажется твоей.))
Если я вижу, что я могу тут накосячить, я от себя самого же пишу защиту, т.е. меняю что-то что может избавить в будущем от ошибок, если это приживается и имеет мало побочных эффектов, я использую дальше, иначе ищу дальше. Таким образом архитектура сама собирается с учетом ограничений и возникают вопросы, что уже хорошо.
"внедренную идею" даже если идея правильная =) ?
Может нужно вводить "внедренную идею" в yii2 сообщество ?
А то посмотришь на сторонние модули, и плакать хочется
knifeblade
Я выношу общие модели в корень именную их как ModelnameRecord если они от AR в модулях наследую и нагружаю логикой модуля. Так же в модулях сущностей создаю свои модели от baseModel и называю их как ModelnameModel они служат при необходимости слоем трансляций
knifeblade
Но если проект большой все равно в финале ад)
who are you
а нельзя модели выносить в components ?
who are you
общие
👀
knifeblade
👀
ибо получается
/app/modules/users/models/UserModel
knifeblade
knifeblade
Модель не обязательно должна быть связана с хранилещем данных
👀
а, понятно) вот тут у каждого свой подход - я AR модели называю {ModelName}Record
knifeblade
👀
нэйминги у каждого свои)
просто модели я обычно обзываю тем, что там есть (User, Category, Post), формы - добавляю в конце Form, AR - Record
для остального есть нэймспейсы
knifeblade
Nurik
Ребят, вот все тут защищают шаблон advanced. Ок. хоть я и не разделяю такое мнение. Пример.Есть заказы, есть водители и клиенты. Модель Order в common. Её наследуют в модулях "клиент" и "водитель". В Order есть общая логика валидации. Например человеку, отвественному за модуль "клиента" вдумалось переписать валидацию для определенной ситуации, он добавил сценарий и переопределил метод rules, через parent:: получил правила. Но неожиданно запорол одно из общих правил валидации. Вот это хорошо ? А ведь по сути мы ожидаем что ОБЩАЯ ВАЛИДАЦИИ, должна работать НЕЗАВИСИМО от того сделали мы проверку или нет.
knifeblade
Nurik
Что именно мне уточнить, чтобы стало понятно ?
Nurik
Nurik
Надо что-то переопределить для частного случая ? Переопределяй метод!
Nurik
Вот такое говно.
Dmitriy
knifeblade
я думаю сравнительно малый % пишет строго в эдванс по рекомендации )
knifeblade
или только свой первый проект на yii
Dmitriy
Надо сюда Макарова бы позвать
👀
Ребят, вот все тут защищают шаблон advanced. Ок. хоть я и не разделяю такое мнение. Пример.Есть заказы, есть водители и клиенты. Модель Order в common. Её наследуют в модулях "клиент" и "водитель". В Order есть общая логика валидации. Например человеку, отвественному за модуль "клиента" вдумалось переписать валидацию для определенной ситуации, он добавил сценарий и переопределил метод rules, через parent:: получил правила. Но неожиданно запорол одно из общих правил валидации. Вот это хорошо ? А ведь по сути мы ожидаем что ОБЩАЯ ВАЛИДАЦИИ, должна работать НЕЗАВИСИМО от того сделали мы проверку или нет.
Не совсем понятна задача и реализация
Если в order уже есть валидация, и нужно добавить еще одно правило, специфичное для модуля, то в rules модели модуля нужно сделать своё правило, добавив его ко всем остальным через array_merge (или ArrayHelper) с parent::rules()
Типа array_merge(parent::rules, [custom rule]
Nurik
Nurik
Повторяю, вы никогда не знаете, кто будет пилить код, гуру или джуниор, но код нужно писать так, чтобы тебе было пофиг на это.
👀
Ну а вообще, для AR моделей валидация должна быть, на мой взгляд, такой, чтобы модель в базу вставить можно было
Для остального я делаю формы, которые валидируют данные до передачи в AR модель
👀
То есть, в данном кейсе у меня бы была OrderForm со своими правилами, в методе save которой была бы логика сохранения в AR
Anonymous
а что вам мешает использовать сценарии?