Laravel के साथ एक एप्लिकेशन बनाना Dependency Injection

इस लेख में, हम निर्भरताओं को प्रबंधित करने और अधिक रखरखाव योग्य स्रोत कोड संरचना बनाने के लिए एक Laravel एप्लिकेशन के निर्माण के बारे में जानेंगे। Dependency Injection हम किसी स्टोर में उत्पाद सूची प्रबंधित करने का एक सरल उदाहरण बनाएंगे।

चरण 1: तैयारी

सबसे पहले, सुनिश्चित करें कि आपने Laravel अपने कंप्यूटर पर इंस्टॉल कर लिया है। आप Composer एक नया Laravel प्रोजेक्ट बनाने के लिए इसका उपयोग कर सकते हैं:

composer create-project --prefer-dist laravel/laravel DependencyInjectionApp

प्रोजेक्ट बनाने के बाद, प्रोजेक्ट निर्देशिका पर जाएँ:

cd DependencyInjectionApp

चरण 2: बनाएं Service और Interface

service आइए उत्पाद सूची प्रबंधित करने के लिए एक सूची बनाकर शुरुआत करें । interface इसे कार्यान्वित करने वाला एक और वर्ग बनाएं interface:

फ़ाइल बनाएँ app/Contracts/ProductServiceInterface.php:

<?php  
  
namespace App\Contracts;  
  
interface ProductServiceInterface  
{  
    public function getAllProducts();  
    public function getProductById($id);  
}  

फ़ाइल बनाएँ app/Services/ProductService.php:

<?php  
  
namespace App\Services;  
  
use App\Contracts\ProductServiceInterface;  
  
class ProductService implements ProductServiceInterface  
{  
    public function getAllProducts()  
    {  
        // Logic to get all products  
    }  
  
    public function getProductById($id)  
    {  
        // Logic to get product by ID  
    }  
}  

चरण 3: Service कंटेनर में पंजीकरण करें

फ़ाइल खोलें app/Providers/AppServiceProvider.php और register फ़ंक्शन में जोड़ें:

use App\Contracts\ProductServiceInterface;  
use App\Services\ProductService;  
  
public function register()  
{  
    $this->app->bind(ProductServiceInterface::class, ProductService::class);  
}  

चरण 4: उपयोग करना Dependency Injection

नियंत्रक में, आप Dependency Injection इसे इंजेक्ट करने के लिए उपयोग कर सकते हैं ProductService:

use App\Contracts\ProductServiceInterface;  
  
public function index(ProductServiceInterface $productService)  
{  
    $products = $productService->getAllProducts();  
    return view('products.index', compact('products'));  
}  

निष्कर्ष

Dependency Injection कंटेनर Service का उपयोग करके Laravel, हमने उत्पाद सूची प्रबंधित करने के लिए एक एप्लिकेशन बनाया है। यह दृष्टिकोण स्रोत कोड को अधिक रखरखाव योग्य बनाता है और एप्लिकेशन के विभिन्न घटकों के बीच निर्भरता को कम करता है।

Dependency Injection उपयोग की गहरी समझ हासिल करने के लिए अपनी आवश्यकताओं के अनुसार प्रोजेक्ट का अभ्यास करें और उसे अनुकूलित करें Laravel ।