Да, во всем верно разобрались.
Существующую сущность можно брать из базы используя репозиторий $entityBRepository->find($entityBId);
Но в данном случаем будет лишний запрос в базу, поэтому лучше создавать ссылки.
grabbee Я позавидовал вашей целеустремленности :) Даже найти описание бага.
Вариант с объявлением отдельной функции не стоит исключать, так как функция может быть применима и в других местах приложения.
Про второй пункт: необходимо создать первую стабильную версию пакета. Композер считает любую версию нотации semver как стабильную, т.е. достаточно создать тег с версией 0.0.1 и она будет считаться стабильной. Для этого надо перейти на определенный коммит и выполнить команды:
git tag 0.0.1
git push --tags
Первая команда помечает коммит тегом, вторая пушит все неотправленые теги в удаленный репозиторий. После этого можно повторно подключать пакет.
Параметр --ignore-platform-reqs в данном случае не сработает, так как он отключает проверку платформенных требований, а у автора проблема из-за отсутствия стабильной версии пакета.
именно самое
Функция открытия файла opendir возвращает дескриптор файла - целое число больше 0, которое записывается вместе с указателем на файл в специальную таблицу файловых дескрипторов. У каждого процесса ведется своя таблица файловых дескрипторов, размер таблицы может быть ограничен, и если открыть много файлов, то можно получить ошибку:
PHP Fatal error: failed to open dir: Too many open files
Для того, чтобы не вызвать переполнение таблицы, необходимо освобождать файловые дескрипторы через функцию closedir($resourse).
Ваш код за счет рекусивного вызова функций потенциально может привести к такой ошибке на директориях с большой вложенностью.
Я бы предложил изучение с Yii2, он простой и с низким порогом вхождения, также востребован в России. Остальные фреймворки, по-моему мнению, требуют уже расширенных знаний о языке, паттернах и дизайну приложения.
Можно не знать фреймворк, это лишь моя рекомендация, основанная на собственном опыте. В свое время мне было жалко потраченного времени на изобретение своих велосипедов после того, как я посмотрел возможности фреймворков. Они принесли примеры реализаций архитектур вебприложений, за счет чего кривая обучения поползла стремительно вверх.
Существующую сущность можно брать из базы используя репозиторий
$entityBRepository->find($entityBId);
Но в данном случаем будет лишний запрос в базу, поэтому лучше создавать ссылки.