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