Dinleyici hizmetim var. İçinde bazı yapılandırma parametrelerini okumak istiyorum.Symfony2: Bir dinleyici içinde bir config parametresi nasıl alınır?
Dinleyici sınıfı içindeki hizmet kapsayıcısına nasıl erişebilirim?
Dinleyici hizmetim var. İçinde bazı yapılandırma parametrelerini okumak istiyorum.Symfony2: Bir dinleyici içinde bir config parametresi nasıl alınır?
Dinleyici sınıfı içindeki hizmet kapsayıcısına nasıl erişebilirim?
Kap parametrelerini servisinize aktarabilirsiniz b ™ Bu durumda bütün kabı Geçme
public function __construct($router, $container, $paramValue)
{
// ...
}
Çözülmüş:
services:
kernel.listener.locale_listener:
class: My\BundleName\Listener\LocaleListener
tags:
- { name: kernel.event_listener, event: kernel.request, method: onKernelRequest }
arguments: [ @service_container ]
Dinleyici Sınıfı:
class LocaleListener
{
protected $container;
public function __construct(\Symfony\Component\DependencyInjection\Container $container)
{
$this->container = $container;
}
..
public function Myfunction()
{
$languages = $this->container->getParameter('languages');
}
}
Biz dinleyici hizmetine bir tartışma
MyBundleName/Kaynaklar/services.yml olarak @service_container
kendisini geçmesi gerekiyor
kötü bir fikir olduğunu:
senin hizmetin yapıcı yönteminde 3 argüman (bu örnekte) olarak kendini sunacakservices: kernel.listener.locale_listener: class: My\BundleName\Listener\LocaleListener tags: - { name: kernel.event_listener, event: kernel.request, method: onKernelRequest } arguments: [ @router, @service_container, %your_param_name% ]
: y %your_param_name%
gösterimi kullanılarak . –
Nokta alındı, önerdiğiniz için teşekkürler. – Amit
@Elnur - Neden tüm kapsayıcıyı kötü bir fikirden geçiriyorsunuz? –
Bu konuda daha fazla dokümantasyon var mı? Ayrıca bir hizmet olarak bir Dinleyici var. Config.yml dosyasında Dinleyiciye erişmek istediğim bazı ayarlarım var, bunları argüman olarak mı yapılandırmalıyım? –
Symfony 2.8'den bu argümanı alıntılamak zorunda olduğunuzdan lütfen unutmayın: argümanlar: ["@router", "@service_container", "% your_param_name%"] – Naroh