2012-09-26 70 views
0

作爲每文檔:在Symfony中定義控制器作爲服務的路由?

除了使用邏輯名或完全合格的類名 ,Symfony的支持指的是控制器的第三方式。此 方法僅使用一個冒號分隔符(例如,service_name:indexAction) 並將控制器稱爲服務(請參閱如何將控制器定義爲服務)(請參閱如何將 控制器定義爲服務)。

有了這個控制器作爲服務(id爲gremo_skebby.controller.report):

<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"> 

    <parameters> 
     <parameter key="gremo_skebby.controller.report.class"> 
      Gremo\SkebbyBundle\Controller\ReportController 
     </parameter> 
     <parameter key="gremo_skebby.request.param_converter.report_event.class"> 
      Gremo\SkebbyBundle\Request\ParamConverter\ReportEventParamConverter 
     </parameter> 
    </parameters> 

    <services> 
     <service id="gremo_skebby.request.param_converter.report_event" 
      class="%gremo_skebby.request.param_converter.report_event.class%"> 
      <tag name="request.param_coverter" /> 
     </service> 
     <service id="gremo_skebby.controller.report" 
      class="%gremo_skebby.controller.report.class%"> 
      <argument id="dispatcher" type="service" /> 
     </service> 
    </services> 
</container> 

我怎樣才能在routing.xml文件中定義的路徑/skebby/notify

<?xml version="1.0" encoding="UTF-8" ?> 
<routes xmlns="http://symfony.com/schema/routing" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://symfony.com/schema/routing 
         http://symfony.com/schema/routing/routing-1.0.xsd"> 

    <route id="gremo_skebby_report_notify" pattern="/skebby/notify"> 
     <default key="_controller">???</default> 
     <requirement key="_method">GET</requirement> 
    </route> 
</routes> 

回答

0

如果該操作方法被稱爲notifyAction,則gremo_skebby.controller.report:notifyAction