symfony - 有没有办法从独立代码访问 Doctrine 存储库?
问题描述
我有一个完整且有效的 Symfony 4 应用程序。任何上传的文件都放在 doc 根目录外的上传文件夹中,并通过单独的 cdn url 访问。
在上传文件夹中,我有一个 htaccess 文件,它将任何请求(例如图像)重定向到一个 php 文件,然后该文件提供图像。
我想要做的是发送一个身份验证密钥以及图像请求,以便独立的 index.php 文件可以从数据库中检查用户是否有效。
这意味着我需要某种方式从 symfony 外部访问 symfony 实体管理器,包括它。另一种选择是对 symfony 控制器的 curl 请求,但如果可能的话,我宁愿不添加额外的网络请求。第三个选项是一个单独的 pdo 直接连接到数据库并进行 sql 查询......但我还是更喜欢通过以某种方式包含 symfony 来使用 symfony 实体管理器,这样我就可以在需要时使用其他功能。
我实际上尝试在 index.php 中包含 symfony 引导程序,但这会拖累路由工作的需要,这在这种情况下是不需要的。
解决方案
您可以像这样访问 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());
推荐阅读
- php - 无法使用 jquery 和 ajax 删除多个用户(codeigniter 3)
- android - 冲突重载:公共构造函数 ApiSuccessResponse
(身体:T) - python - 使用 azure-sdk-for-python 以 json 格式获取虚拟机大小列表
- azure - 什么是 Azure 应用程序级路由?
- javascript - 带声音的倒数计时器(无按钮)
- python - Python字符串嵌套在字符串下
- hibernate - 使用非托管 pojo 丰富 JPA 实体
- javascript - Puppeteer 无法使用评估获取页面的内部 HTML
- python-2.7 - 湿度读数可疑
- php - 如何在 Prestashop v1.7 中向 CheckOut 添加新步骤?