Вопросы

Микрофреймворки предоставляют минимальный набор компонентов, но где брать остальное: например, валидацию форм, работу с сессиями, redis и т.п.? Есть ли некий список общепризнанных, актуальных и поддерживаемых компонентов "де-факто", и если да, можно ли его где-то найти?
Что лучше использовать для парсинга больших XLS документов, где внутри для каждой строки нужно делать много проверок в соответствующих полях, формировать массив и записывать в базу. И в последующих импортах нужно будет и редактировать те что уже записаны и вносить изменения. Это очень трудоемкая операция. Работаю на PHP использую PHPOffice. Может стоит написать самому или использовать какой то NodeJS.
Хочу узнать ваше субъективное мнение по поводу выбора PHP фреймворка как основного для разработки сайтов. Нужно начинать пользоваться фреймворком, но пока стою перед выбором из Laravel, Symfony и Yii. В будущем возможно придется поработать на каждом, но начать хочу с того, какой содержит в себе лучшие практики проектирования.
У меня есть проект, который по факту несколько веб сайтов: бекенд, фронтенд и API на разных доменах. Через API происходят все запросы, начиная от логина, заканчивая выборкой статей и товаров. Сейчас это всё на Zend монолите с ужасным кодом. Решил перейти на Symfony. Но теперь вопрос: как эти три сервиса разнести?
Меня всегда интересовал вопрос про UML-диаграммы. Например какие инструменты для этого есть, чем лучше выгружать из текущего кода диаграмму, есть ли инструменты для генерации кода по UML-диаграммам и т. п. Есть опыт работы с этим?
Подскажите, как часто вы в своей работе сталкиваетесь с потребностью в знании алгоритмов и структур данных в PHP? Если это действительно важная часть знаний PHP-разработчика уровня Middle, то что посоветуете в качестве обучения. Я нашел несколько популярных ресурсов, но они все без привязки к PHP:
У меня в работе крупный проект на Symfony. Состоит из двух частей, связанных общей БД и общими сущностями: веб-портал и корпоративный сайт. Правильно ли я понял, что для современной веб-разработки есть тренды в сторону смещения к сочетанию PHP-фреймворка с JS-фреймворком. Например, мне перспективнее создать один проект на основе API-Platform и привязаться к нему парой фронтедов на VueJS или AngulerJS. Или я не правильно всё понял и есть более умное решение?
Я заметил, что на моем одном проекте становится слишком много различий в конфигурациях. Например, сессии на деве в файлах, а на проде в базе данных, кеш на деве один, на проде другой, а на локалке третий. Подскажите библиотеку или "самурай уэй". Есть какое подобие dotenv или что нибудь вроде того?
Я хочу научиться TDD, разработке через тестирование. Возможно, пройти какой-то спецкурс или видеоуроки. Не подскажете, где такой курс найти?
Можно ли назвать ваш проект аукциона микросервисной архитектурой? Или это просто разделение? Что такое микросервис?
Могли бы порекомендовать пару проверенных пакетов, если сами пользовались, для двух нужд. Пагинация для среды SLIM + куски Symfony + Doctrine (ORM+DBAL) + TWIG. RBAC доступ на основе ролей. Нужно реализовывать ролевой доступ как для сотрудников, так и для клиентов (пользователей приложения) с множеством типов привилегий для ролей: финансовые привилегии, доступ к элементам интерфейсов...
Как начать изучать программирование на PHP с нуля? Что стоит почитать? Или есть какие-то хорошие источники или курсы по основам программирования на PHP? Нужно ли что-то изучить до начала программирования? Было бы круто, если был бы какой-то список от начала обучения и до его конца.
Почему в языке Go авторы не добавили выбрасывание исключений, как сделано в Java и PHP?
Почему все не любят геттеры и сеттеры? Что в них плохого?
Нужны ли статические методы? Когда их применение оправдано?
Какие основные фреймворки для JavaScript и для PHP? Чем они различаются?
Что посоветуете по автоматизированному тестированию?
Посоветуйте хороший материал про DDD, TDD, BDD?
Что это такое за REST? Является ли им GraphQL или gRPC?