Service Container استعمال کرنے اور Dependency Injection اندر جانے کے لیے گائیڈ Laravel

Service Container اور Dependency Injection دو اہم تصورات ہیں Laravel جو آپ کو انحصار اور اپنے سورس کوڈ کی ساخت کو مؤثر طریقے سے منظم کرنے میں مدد کرتے ہیں۔ ذیل میں انہیں مختلف منظرناموں میں استعمال کرنے کا طریقہ ہے:

سوسنگ Service Container

ان اشیاء کے انتظام اور لچکدار Service Container طریقے Laravel سے فراہم کرنے میں مدد کرتا ہے۔ یہاں استعمال کرنے کا طریقہ ہے Service Container:

کسی آبجیکٹ کو رجسٹر کرنا: bind کسی چیز کو رجسٹر کرنے کے لیے طریقہ استعمال کریں Service Container ۔

app()->bind('userService', function() {  
    return new UserService();  
});  

آبجیکٹ تک رسائی: جب آپ کو آبجیکٹ کو استعمال کرنے کی ضرورت ہو، تو آپ اسے Service Container رجسٹرڈ نام کا استعمال کرکے دوبارہ حاصل کرسکتے ہیں۔

$userService = app('userService');

استعمال کرنا Dependency Injection

Dependency Injection انحصار کو کم کرتا ہے اور آپ کے کوڈ کو مزید پڑھنے کے قابل بناتا ہے۔ یہاں استعمال کرنے کا طریقہ ہے Dependency Injection:

انحصار کا اعلان بذریعہ Constructor: جس کلاس میں آپ کو انحصار استعمال کرنے کی ضرورت ہے، اس کے ذریعے ان کا اعلان کریں constructor ۔ Laravel آبجیکٹ کو شروع کرتے وقت خود بخود انحصار انجیکشن کرے گا۔

class UserController extends Controller  
{  
    protected $userService;  
  
    public function __construct(UserService $userService)  
    {  
        $this->userService = $userService;  
    }  
}  

طریقہ کے ذریعے انحصار کو انجیکشن لگانا Setter: آپ setter طریقوں کے ذریعے انحصار کو بھی انجیکشن لگا سکتے ہیں۔ Laravel انحصار کو انجیکشن کرنے کے لئے خود بخود ان طریقوں کو کال کرے گا۔

class UserController extends Controller  
{  
    protected $userService;  
  
    public function setUserService(UserService $userService)  
    {  
        $this->userService = $userService;  
    }  
}  

نتیجہ

استعمال Service Container اور Dependency Injection اس میں Laravel آپ کو انحصار اور سورس کوڈ کی ساخت کو مؤثر طریقے سے منظم کرنے میں مدد ملتی ہے۔ Laravel ان اصولوں کو لاگو کر کے، آپ اپنی ایپلی کیشنز کی ترقی کے دوران لچکدار، برقرار رکھنے کے قابل، اور آسانی سے قابل توسیع کوڈ بنا سکتے ہیں ۔