有什麼方法可以以某種方式預處理控制器數據。我將從會話中獲取param,驗證它並將其指定爲控制器屬性,並將其用作$ this-> myVar在某些控制器的操作中,或者在可能的情況下全部使用它們。使用控制器的構造函數什麼也不給我,我無法訪問請求和會話數據。謝謝!將定製屬性添加到所有symfony2控制器
UPD: 謝謝,jkucharovic,非常好的解決方案。 此外還有一個更骯髒的解決方案,沒有注入:setContainer()方法,它已被直接調用$ controller = new Controller();
use Symfony\Component\DependencyInjection\ContainerAwareInterface,
Symfony\Component\DependencyInjection\ContainerInterface;
class AppServiceController extends Controller {
private $my_property;
/**
* Used as constructor
*/
public function setContainer(ContainerInterface $container = null)
{
parent::setContainer($container);
$this->my_property = 'foo';
// your controller code
}
}
我可以得到一些細節嗎? – Tauquir
當然:-_)_ – jkucharovic
嗨。我正在使用Symfony2.5並且很新。當我實現你的答案時,我得到以下錯誤:可捕獲的致命錯誤:傳遞給Fried \ FrameworkBundle \ Controller \ SectionController :: __ construct()的參數1必須是Symfony \ Component \ HttpFoundation \ Request的實例,沒有給出。我相信我可能不得不通過這些路線。我可能錯了。你能指導我怎麼能通過控制器中的這兩個變量?謝謝。 – Nis