Не лучше. Такая фильтрация строится на моих оценочных данных. Что будет если я буду оценивать только фильмы ужасов, хотя сам люблю комедии. Есть шанс, что до комедий я так и не доберусь?
А что у вас не получается ? второй вариант используется в любых фреймворках такое же форматирование текста и заголовков. отправка через ssl по 465 либо по 587 TLS. На gmail разрешить доступ к другим устройствам. И все будет нормально приходить.
Light 777: Ну, ActiveForm - это виджет, для него главное чтобы 'id' =>'some-form' был уникальным и совпадал с названием SomeForm.php и что
Имена и идентификаторы форм и их элементов не должны совпадать с элементами форм, такими как submit, length, или method. Конфликты имен могут вызывать трудно диагностируемые ошибки. т.е. в опция класс задайте другой, не совпадающий с названием формы.
HoHsi: производительность и новые стандарты. Некоторые вещи, которые ранее делались фреймворком, делаются ручками без проблем. Появились классы, блочная видимость, много чего еще, что делает язык слишком отличительным от пятерки. Соответственно и использование библиотек и фреймворков тоже значительно изменилось.
Deno95: верно. Но бывают ситуации, когда модель не нужна, но действия нужны. к примеру главная страница, у нее нету своей модели, а основной контроллер есть, с index страницей и вывод например категорий или постов у которых есть свой контроллер(при клике на пост, срабатывает уже контролере Post-a, а по категории, соответственно категории). В будущем вам захочется управлять категориями удалять и добавлять новые, не залазя в код, а делая это через сайт. описав метод создания в контроллере, вы обеспечиваете персистентность вашего кода.
А главное, если в будущем другой разработчик, захочет что-то изменить или добавить, то ему достаточно глянуть в контроллер, а не искать по всему проекту.
Михаил Артемьев: fman2: Я знаю есть еще отдельное ModelSearch, он осуществляет поиск по модели и фильтрацию. Но чаще всего эта модель поиска служит для GridView/ListView. А все остальные операции проводятся в моделех, как у автора топика.
jacksparrow: требуют 1 год опыта в каких либо проектах, можно и собственные. В некоторых фирмах запросы могут колебаться, но чаще всего запросы именно такие. В чем-то меньше в чем-то больше.
Плохо смотрели =) на Yii2 точно так же делается заготовка. скидывается на Гитхаб. Безопаснее аутентификации, во фреймах встроенные защиты от разновидности атак, валидация, та же модульность. А влияние более гибкое для разработчика. Тот же Wordpress просто ведро из костылей, Опен карт или Маджента со своим EAV просто ложит болт на все оптимизации. А если у вас магазин развитый и вам отдают на рефакторинг. Проект переростает в High-load и переносить ЦМС еще геморнее.
Я серьезно без стеба если что. Просто интересно какие платформы вы используете и технологии ?
KerryDarko: Для привязки нескольких параметров, можно такую конструкцию использовать
$qb->setParameters(array(1 => 'valueOne', 2 => 'valueTwo'));
Такой запрос лучше вынести в репозиторий и на функцию репозитория подавать параметры, которые уже у вас есть и там же добавлять свои. естественно в 1 значение, которое вы передаете, во втором новое. И они просто будут все вместе. не заменяя друг друга.
получить ранее связанные можно так
$params = $qb->getParameters(array(1, 2));
но этот геттер, не делает конкат. он только получает более раннее. Для добавления вам придется руками привинчивать все остальное. Лучше конечно скопом. Лучше же один запрос, а не два?
matperez: на сколько мне известно, такого нету, но цель на будущее есть. Может в послед версиях это будет, а пока нету. Хотя ожидайте, может дадут годные советы, мне тоже интересно подобное решение.
Bez_imeni_vovse_zhivu_na_: Php - это скриптовый-серверный язык. Есть юзер у него есть массивы данных. Нажимая на кнопочку, в его профиль вносятся изменения или ставиться КРОН задача, после Н времени прибавить ресурсы на счет игрока. Это и есть основа гринда в браузерных играх. А последовательность квестов от выбраных вариантов ответов и их итоги обычные If else. Логика не так сложна, как интерфейс и оболочка. =)