Vitsliputsli, DbExeption пишет в логи и уведомляет юзера о проблемах с БД.
2) if ($image) - в условии пишите, что конкретно проверяете, а не что получится если неизвестно что кастануть в bool. Например is_null($image) или что у вас там по смыслу.
1. Да, я там забыл добавить. С условием, разумеется.
2. Да, там $data['image']
3. Просто все запросы вынес из модели. Ну типо сервиса/репозитория. Сохранить, обновить, удалить, достать популярные посты, последнии и т.д.
4. У меня для загрузки изображений есть класс ImageUploader. Для удаления я что-то не увидел смысла создавать новый. Хотя у меня еще есть работа с аватарками пользователей.
Ипатьев, контенер есть, чтобы все модели и виды и все остальное связать с контроллерами заняло строк 70 наверно. Ручное связывание, вроде так называется. Ну и в сам роутер передается этот контейнер. С автовайрингом не получится, потому что некоторые классы принимают скалярные типы.
Есть мнение, что контейнер нужен для хранения общих объектов для всего приложения, соединение с базой и т.п. Вот и задумался как сделать без пихания контроллеров в контейнер.
Благодарю за подробный ответ. Хочу написать свой контейнер, но прочитав несколько статей на эту тему запутался.
Т.е. контроллеры не должны быть в DI? Я делал так, в роутер передавал контейнер, а в контейнере регистрировал все контроллеры, вместо массива с настройками подключения к БД сделал класс с конфигом, все работало, пока я не дошел до пагинации.
Я думал, что объекты, общие для всего приложения регистрируются в сервис-контейнере. Но в чем разница между DI-контейнером и сервис-контейнером не понимаю.
Написано
Войдите на сайт
Чтобы задать вопрос и получить на него квалифицированный ответ.
В $image либо путь к картинке либо null.