Servisimden bir yardımcı aramak istiyorum.Servisten bir yardımcı arayın Servis
adında bir tanımsız bir yöntemi çağırmak için çalışıldı$notificationService = $this->get('Notification');
Symfony'nin sihirli değil sınıfın
Servisimden bir yardımcı aramak istiyorum.Servisten bir yardımcı arayın Servis
adında bir tanımsız bir yöntemi çağırmak için çalışıldı$notificationService = $this->get('Notification');
Symfony'nin sihirli değil sınıfın
ait "get". Symfony sadece PHP'dir. Symfony ile çalışırken hatırlaman gereken en önemli şey bu.
Sınıfınızda get()
yöntemi yoksa, yöntemi çağırabilirsiniz. Denetleyicinizde, FrameworkBundle'ın Controller
tabanından uzarsınız. Bu sınıf böyle bir yöntem içerir, böylece bir denetleyicide bu yöntemi çağırabilirsiniz.
Artık yeni hizmetinizde Notification
hizmetini kullanmak istiyorsunuz. Kapsayıcıdan almak yerine, kapsayıcıyı oluştururken hizmetinize enjekte etmesine izin verin.
# app/config/services.yml
services:
app.your_service:
class: AppBundle\Some\Class
arguments: ['@Notification'] # <<-- this tells to inject the service
Sonra Sınıfınızda bu uyarlama: Bazı servis yapılandırma ile bunu
class SomeClass
{
private $nofication;
public function __construct(NotificationInterface $notification)
{
$this->notification = $notification;
}
}
bu konuda açıklanacak çok daha fazlası var. Bkz. http://symfony.com/doc/current/book/service_container
Bu yöntemi nerede aradınız? Sınıfınızı paylaşabilir misiniz? – Federkun
Sorun değil, “App \ Bundle \ Services \ Notification;” i kullanarak başlığımda hizmetimi bildirdim ve bunu başlattım. $ $ BildirimService = new Notification(); ' – Paul