Как стать автором
Обновить
6
0

PHP разработчик

Отправить сообщение

У kafka-php последний релиз 5 лет назад. Не рассматривали использование php-rdkafka? Если смотрели, почему отказались?

А что с языком программирования? У каждой компании может быть свой язык(и) бэкенда и когда есть цель трудоустроиться в FAANG, то что с ними? На каком языке решаются задачи? Язык не важен и предполагается, что пройдя все этапы ты сможешь писать код на любом языке? Или должен быть опыт каждого языков, которые используются в компаниях с которыми идут собесы?

Согласен, все зависит от кейса и как устроен фронт.

Если мы используем шаблон Advanced от Yii2, который предлагает нам деление на Frontend/Backend, где это клиентское и админское приложения, которые мы строим со вьюхами (т.е. бэк отдает html) + JQuery, то как раз данная статья и подходит. Плюс мы пониманием, что использование данных виджетов уже подразумевает использование того же Bootstrap и JQuery.

Мы можем для упрощения разработки только админку оставить на этой схеме, а клиентскую часть сделать API + полноценный фронт React/Vue.

В последнем кейсе и жил проект, со слоевой архитектурой в которой Active Record не покидал Data Layer, а сервис с бизнес-логикой результат своей деятельности отдавал в виде неких DTO и их коллекций (в рамках Yii, те же дата провайдеры) и в зависимости от того, это API или админка по разному возвращал результат (json, рендер вьюхи и пр.).

Не хотим, чтобы слой работы с данными уходил в пользовательский слой, но при этом хотим использовать виджеты Yii. Active Record не должно быть в Представлениях, иначе можно при рендере шаблона начать кидаться запросами в БД. Ладно, допустим $user->delete() разработчик писать не будет, но обратиться к какому-нибудь релейшену или цепочке?

Суть в том, что мы работаем именно с ActiveDataProvider, который в свою очередь работает с Active Record и помогает нам формировать запросы (пагинация, сортировка, фильтрация и пр.).

Если нам не нужен Active Record, ничто не мешает создать и ArrayDataProvider (либо любой другой провайдер, ведь GridView ждёт интерфейс DataProviderInterface) и загрузить в него подготовленные объекты/модели, которые уже могут являться DTO. Но тогда мы берем на себя процесс получения этих данных (можно вообще не использовать AR и получить данные в виде массива из БД) и их подготовку (например, фильтрации по страницам, сортировку и пр.).

Информация

В рейтинге
Не участвует
Откуда
Россия
Зарегистрирован
Активность