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 ।