1
我想有一個全局功能,它可以在所有控制器以及樹枝擴展中使用。 功能目前看起來是這樣的:如何使用Symfony訪問樹枝擴展中的全局服務功能?
namespace Symfony\Bundle\FrameworkBundle\Controller;
class BaseController extends Controller {
/**
* Check if the user is assigned to one of the given airlines
*
* @param Array $airlines
*
* @return boolean
*/
public function HAS_AIRLINE(Array $airlines) {
if ($airlines == null)
return false;
// Get current user
$user = $this->get('security.context')->getToken()->getUser();
foreach ($airlines as $airline) {
if($user->hasAirline($airline))
return true;
}
return false;
}
我實現了這個功能到BaseController.php,這樣我就可以在所有其他控制器使用。迄今爲止這工作得很好。 現在我想在樹枝的擴展中使用這個函數,但我不知道如何。我有以下功能在我的樹枝延伸:
/*
* Check if the current user has one of the given roles by using the function provided by the base controller
*/
public function hasAirline($airlines= Array())
{
if($airlines == null)
return false;
// How can I now use the function from my BaseController?
return HAS_AIRLINE($airlines);
}
我已經嘗試定義BaseController作爲一種服務,並在樹枝推廣使用這項服務,但我不能管理。
有人能幫我嗎?我覺得我還沒有理解Symfony的一些東西,但是這些文檔並沒有真正幫助我。
謝謝 MRE
謝謝夥計! – MRE 2015-04-01 12:24:36