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 अनुप्रयोगों के विकास के दौरान लचीला, रखरखाव योग्य और आसानी से विस्तार योग्य कोड बना सकते हैं।