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.