symfony - 如何从 URL shopware 获取参数
问题描述
所以我正在使用由 symfony 和 vue(商店软件)制作的软件。我想创建一个插件来检查用户请求的链接,如果它包含特定的单词,我想向用户显示一个弹出窗口。我已经订阅了,我正在转储数据,但我在调试工具中一无所获?
<?php declare(strict_types=1);
namespace QRLinker\Subscriber;
use Shopware\Storefront\Page\PageLoadedEvent;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
class QRLinkerSubscriber implements EventSubscriberInterface
{
public static function getSubscribedEvents(): array
{
return [
PageLoadedEvent::class => 'onPageLoaded',
];
}
public function onPageLoaded (PageLoadedEvent $event)
{
dump($event);
dump($event->getRequest());
// GET https://dev.example.com/?qr=hubi
// dump($request->query->get('qr'));
}
}
<?xml version="1.0" ?>
<container xmlns="http://symfony.com/schema/dic/services"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd">
<services>
<service id="QRLinker\Subscriber\QRLinkerSubscriber" >
<tag name="kernel.event_subscriber" />
</service>
</services>
</container>
解决方案
此代码有效:
<?php declare(strict_types=1);
namespace QRLinker\Subscriber;
use Shopware\Storefront\Page\PageLoadedEvent;
use Shopware\Storefront\Page\GenericPageLoadedEvent;
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
class QRLinkerSubscriber implements EventSubscriberInterface
{
public static function getSubscribedEvents(): array
{
return [
GenericPageLoadedEvent::class => 'onPageLoaded',
];
}
public function onPageLoaded (PageLoadedEvent $event)
{
// GET https://dev.example.com/?qr=hubi
dump($event->getRequest()->query->get('qr'));
// $event->getRequest()->query->get('qr');
// echo "shit";
}
}
推荐阅读
- docker - Dockerized nginx 无法解析 DNS 名称
- python - SQL pyodbc 问题
- python - 这是引用调用、错误还是其他什么的示例?
- python - 在Python程序中模拟CTRL+Z发送短信
- notepad++ - 返回字符串匹配后的数字小于特定数字的行
- google-chrome-extension - 管理本地 cookie
- rascal - 如何使用 Rascal 从/向 json 文件读取/写入位置
- python - 如何遍历数据框并删除行?
- javascript - 正则表达式匹配来自 HTML 脚本的谷歌地图坐标
- backbone.js - 使用 Backbone.js 从 Parse Server 获取数据的问题