所以我正在使用用 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>
uj5u.com熱心網友回復:
此代碼有效:
<?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";
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/343624.html
上一篇:DoctrineQueryBuilder/DQL-如何使用WHEREcolumn=BINARY'text'撰寫查詢
下一篇:每次遷移都會改變uuid列的學說
