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 यी सिद्धान्तहरू लागू गरेर, तपाईं आफ्नो अनुप्रयोगहरूको विकासको क्रममा लचिलो, मर्मतयोग्य, र सजिलैसँग विस्तार गर्न मिल्ने कोड सिर्जना गर्न सक्नुहुन्छ।