在Symfony中,如何在Menubuilder中调用控制器功能?

Tru*_*pti 0 php symfony

我已经在控制器file中编写了一个作为getAccess()的函数Appbundle/Controller/BackendController.php

我想在Menu/Menubuilder.php文件中访问此控制器的方法。我怎样才能做到这一点?

菜单和Appbundle文件夹处于同一级别。

Mit*_*ava 5

你可以使用特质

特性是一种在PHP等单一继承语言中重用代码的机制。特性旨在通过使开发人员能够在生活在不同类层次结构中的几个独立类中自由重用方法集,从而减少单一继承的某些限制。

因此,您可以在特征文件中创建函数getAccess()并仅在BackendController.php和Menubuilder.php中使用它

trait ezcReflectionReturnInfo {
    function getReturnType() { /*1*/ }
    function getReturnDescription() { /*2*/ }
}

class ezcReflectionMethod extends ReflectionMethod {
    use ezcReflectionReturnInfo;
    /* ... */
}

class ezcReflectionFunction extends ReflectionFunction {
    use ezcReflectionReturnInfo;
    /* ... */
}
Run Code Online (Sandbox Code Playgroud)