Я конечно понимаю, что примера идеального тонкого контроллера нет ) но если посмотреть на вопрос с другой стороны то он станет таким: кто как делать разделение на поиск\валиадцию\вывод данных в крупных проектах на yii2
Не совсем. Вопрос заключается в выборе оптимального стиля написания кода. В каком случае контроллер будет иделаьно тонким при условии, что необходимо принять данные из GET формы (фильтр) сделать что-то и вернуть во View данные в том или ином виде. проблема выбора идеального решения при котором поддержка кода будет проще. Например у меня есть view которая отображает таблицу данных. Делает это она простым foreach($items as $item) {....} а снизу идет пагинация виджетом. Значит я во вью из контроллера должен передать $items и $pages.
В самом контроллере я вызываю поисковую модель и метод search() а далее делаю $items = $model->getModels() для получения списка записей, также и для пагинации. Виджетами вроде GriView не пользуюсь дабы в последствии иметь гибкость. Вот и возникает вопрос в гибкости )
Спасибо за ответ. Судя по калькулятору - пока на текущих объемах дешевле все-таки s3 + cdn (методом тыка получилось скрестить бакет амазона с его сетью cdn). Кстати покупая сервер у herz тратиться за трафик тоже придеться, как я понмаю
База досталась по наследству.
Приведу пример из жизни: цена на отель. Часто отели хранят цены на свои номера в валюте той страны в которой они находятся. Один хранит в долларах, второй в вьетнамских донгах.
Клиенту нужно найти отель не выше цены указанной в евро.
Опять же хранить в рублях херовое решение, цена в указанной валюте может меняться, а пересчитывать цены по крону по большой таблице - бред.
просто зачем дергать базу при каждом рефреше страницы, при серфинге сайта, если данные можно закэшировать? а если пользователь, скажем, в своих настройках что-то поменял, то кэш убивается и записывается заново.
Примерно об этом я и говорю. Т.е пользователь авторизуется, кладется информация о нем в сессию, затем проверяется, сессия пустая или нет, если нет — данные берутся из нее, если да то перезаписывается данными из БД.
Вопрос в другом, каким образом лучше организовать харнение. Записать в сессию класс, записать сериализованный масив в базу и т.д.
правильно ли я понимаю что этот класс позволит постить статусы в мой твиттер скриптом? Без перехода на сайт твиттера, нажатия там кнопки «Разрешить» и т.д?