ব্যবহার Service Container এবং Dependency Injection মধ্যে নির্দেশিকা Laravel

Service Container এবং Dependency Injection দুটি গুরুত্বপূর্ণ ধারণা Laravel যা আপনাকে নির্ভরতা এবং আপনার উত্স কোডের কাঠামো দক্ষতার সাথে পরিচালনা করতে সহায়তা করে। বিভিন্ন পরিস্থিতিতে সেগুলি কীভাবে ব্যবহার করবেন তা নীচে দেওয়া হল:

SUsing 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