Есть ли способ получить доступ к Doctrine хранилищам из автономного кода? - PullRequest
0 голосов
/ 23 апреля 2020

У меня есть приложение Symfony 4, которое готово и работает. Любые загруженные файлы помещаются в папку загрузки вне do c root и доступны через отдельный URL-адрес CDN.

Внутри папки загрузки у меня есть файл htaccess, который перенаправляет любой запрос, скажем, например изображение в файл php, который затем передает изображение.

Я хочу иметь возможность отправить ключ авторизации вместе с запросом изображения, чтобы автономный файл индекса. php мог проверьте, что пользователь действителен из базы данных.

Это означает, что мне нужен какой-то способ доступа к диспетчеру сущностей symfony из-за пределов symfony, включая его. Другим вариантом будет запрос скручивания к контроллеру symfony, но я бы не стал добавлять дополнительные сетевые запросы, если это возможно. Третий вариант - это отдельный pdo, направляемый к базе данных и выполняющий sql запросов ... но опять же я бы предпочел использовать диспетчер сущностей symfony, как-то включив symfony, чтобы при необходимости я мог использовать другие функции.

Я на самом деле пытался включить в индекс symfony bootstrap. php, но это тянет за необходимость маршрутизации для работы, которая в данном случае не нужна.

1 Ответ

1 голос
/ 23 апреля 2020

Вы можете получить доступ к EntityManager следующим образом:

require __DIR__.'/../vendor/autoload.php';

(new Dotenv())->load(__DIR__.'/../.env');

$kernel = new Kernel('dev', true);
$kernel->boot();

$user = $kernel->getContainer()->get('doctrine.orm.entity_manager')->getRepository(Repo::class)->find(id);


dd($user->getRoles());
...