- پنجشنبه 21 آبان 1405 ساعت 21:35
- 5.6.29
- کامل شده
- منقضی شده
این داکیومنت از طرف توسعهدهنده ساپورت نمیشود، جدیدترین ورژن داکیومنت بزودی ترجمه خواهد شد.
Service Container هسته مدیریت وابستگیها در Laravel است. این Container میتواند کلاسها و سرویسها را بسازد، وابستگیهای سازنده را تشخیص دهد و نمونه مناسب را هنگام نیاز به کلاس تزریق کند. نتیجه آن کاهش اتصال مستقیم کلاسها به پیادهسازیهای مشخص است.
نحوه کار و کاربرد
برای وابستگی ساده، Laravel اغلب میتواند کلاس را با Reflection بسازد. برای Interfaceهایی که چند پیادهسازی دارند، باید Binding تعریف شود. متدهای bind()، singleton() و instance() رفتار ساخت نمونه را کنترل میکنند.
نمونه
app()->bind(ReportExporter::class, function ($app) { return new CsvReportExporter(); });
class ReportController extends Controller {
public function __construct(ReportExporter $exporter) { $this->exporter = $exporter; }
}
نکته
Container محل ثبت و حل وابستگیهاست؛ منطق تجاری را داخل Service Provider یا Closureهای Binding انباشته نکنید.
اصطلاحات مرتبط در واژهنامه: کنترلر