Service Container
เครื่องมือช่วยจัดการ Dependencies ของ Class
Service Container คืออะไร
ประโยชน์หลักของ Service Container
use Illuminate\Support\ServiceProvider;
use App\PersonalWriter;
class AppServiceProvider extends ServiceProvider
{
public function register()
{
// กำหนดการผูก (Binding) ของ dependency โดยใช้เมธอด bind
// ซึ่งทำให้สามารถสร้างอินสแตนซ์ของ PersonalWriter ได้เมื่อมีการร้องขอการใช้งาน
$this->app->bind(PersonalWriter::class, function ($app) {
return new PersonalWriter();
});
}
}
// ทดลองใช้ใน Controller
class ExampleController extends Controller
{
protected $writer;
// รับ PersonalWriter ผ่านทาง constructor
// ซึ่งช่วยให้คลาสสามารถใช้งานอินสแตนซ์ที่ต้องการได้โดยไม่ต้องสร้างเอง
public function __construct(PersonalWriter $writer)
{
$this->writer = $writer;
}
}การทำงานพื้นฐาน
ตัวอย่างการใช้งาน
Last updated