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 ۔