Как при объявление контроллера как сервиса вызвать метод не являющийся экшеном ?
Есть класс контроллера, обозначенный как сервис
namespace AppBundle\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
//...
class MyServiceController extends Controller {
/**
*
* @Route("/my/action", name="my_action")
* @Method("POST")
*/
public function myAction(Request $request)
{
// ...
}
protected function myMethod(Request $request)
{
// ...
}
}
есть другой класс контроллера, перегружающий метод myMethod родительского класса сервиса
namespace AppBundle\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
//...
class MyOtherServiceController extends MyServiceController {
/**
*
* @Route("/my/other/action", name="my_other_action")
* @Method("POST")
*/
public function myAction(Request $request)
{
// ...
}
protected function myMethod(Request $request)
{
// ...
}
}
и есть сам контроллер, который вызывает сервис
namespace AppBundle\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
//...
class MyController extends Controller {
/**
* @Route("/my/controller", name="my_controller")
* @Method("POST")
*/
public function serviceAction(Request $request)
{
// Срабатывает успешно.
$this->forward('app.service.myAction', array(
'request' => $request,
));
// не срабатывает
$this->forward('app.service.myMethod', array(
'request' => $request,
));
}
}
services.yml
app.service:
class: AppBundle\Controller\MyOtherServiceController
arguments: []
Заранее спасибо