Giriş
Laravel servis taşıyıcısı sınıf bağımlıkları yönetme ve bağımlılık dahil etme icrası için güçlü bir araçtır.
Şu basit örneğe göz atın:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
namespace App\Jobs; use App\User; use Illuminate\Contracts\Mail\Mailer; use Illuminate\Contracts\Bus\SelfHandling; class PurchasePodcast implements SelfHandling { /** * The mailer implementation. */ protected $mailer; /** * Create a new instance. * * @param Mailer $mailer * @return void */ public function __construct(Mailer $mailer) { $this->mailer = $mailer; } /** * Purchase a podcast. * * @return void */ public function handle() { // } } |
Bu örnekte, PurchasePodcast
işi bir ses yayını satın alındığında e-mail göndermeye ihtiyacı car. Yani, e-mail gönderebilmek için bir servis dahil edeceğiz.
Servis taşıyıcının iyi anlaşılması güçlü, büyük uygulama demektir.
Bağlayıcı
Neredeyse tüm servis taşıyıcısı bağlamaları servis sağlayıcılarda kaydedilir.
Servis sağlayıcısında, $this->app
kullanarak servis taşıyısıcına ulaşabilirsiniz. bind
metodunu kullarak bağlama yapılabiliriz.
1 2 3 |
$this->app->bind('HelpSpot\API', function ($app) { return new HelpSpot\API($app['HttpClient']); }); |