dtrgqjcd877528 2014-10-13 15:51
浏览 54
已采纳

在事件侦听器中访问路径路径

ROUTE:

user_lock:
    path:     /user/lock/{id}
    defaults: { _controller: SiteMainBundle:Frontend\Default:userLock }
    methods:  [GET]

As you know, router above will create a URL like htt://mysite.com/app_dev.php/user/lock/66 so I need to get only /user/lock/66 part of it in event listener below. How can I do it?

I tried $request->getBaseUrl() and $request->getBasePath() didn't give me what I wanted.

YAML

services:
    kernel.listener.kernel_controller:
        class: Site\MainBundle\EventListener\Controller\KernelController
        tags:
            - { name: kernel.event_listener, event: kernel.controller, method: onKernelController }

CLASS

<?php

namespace Site\MainBundle\EventListener\Controller;

use Symfony\Component\HttpKernel\Event\FilterControllerEvent;

class KernelController
{
    public function onKernelController(FilterControllerEvent $event)
    {
        $request = $event->getRequest();

        $this->writeLog('ROUTE', $request->attributes->get('_route'));
        $this->writeLog('CONTROLLER', $request->attributes->get('_controller'));
        $this->writeLog('ROUTE PARAMETERS', $request->attributes->get('_route_params'));

        $this->writeLog('ROUTE PATH', ??????????????????????????????);
    }
} 
  • 写回答

1条回答 默认 最新

  • dongpa3109 2014-10-13 16:01
    关注

    I think, you are looking for

    $request->server->get('PATH_INFO');
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 虚幻5 UE美术毛发渲染
  • ¥15 CVRP 图论 物流运输优化
  • ¥15 Tableau online 嵌入ppt失败
  • ¥100 支付宝网页转账系统不识别账号
  • ¥15 基于单片机的靶位控制系统
  • ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度
  • ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测