Laravel Bu makalede, bağımlılıkları yönetmek ve daha sürdürülebilir bir kaynak kod yapısı oluşturmak için kullanarak bir uygulama oluşturmayı inceleyeceğiz Dependency Injection. Bir mağazada ürün listesini yönetmenin basit bir örneğini oluşturacağız.
Adım 1: Hazırlık
Öncelikle, Laravel bilgisayarınıza yüklediğinizden emin olun. Composer Yeni bir proje oluşturmak için şunları kullanabilirsiniz Laravel:
composer create-project --prefer-dist laravel/laravel DependencyInjectionApp
Projeyi oluşturduktan sonra, proje dizinine gidin:
cd DependencyInjectionApp
2. Adım: Oluşturun Service ve Interface
service Ürün listesini yönetmek için bir ürün listesi oluşturarak başlayalım. interface Bunu uygulayan bir ve bir sınıf oluşturun interface:
Dosyayı oluşturun app/Contracts/ProductServiceInterface.php
:
<?php
namespace App\Contracts;
interface ProductServiceInterface
{
public function getAllProducts();
public function getProductById($id);
}
Dosyayı oluşturun 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. Adım: Kapsayıcıya Service Kaydolun
Dosyayı açın app/Providers/AppServiceProvider.php
ve işleve ekleyin register
:
use App\Contracts\ProductServiceInterface;
use App\Services\ProductService;
public function register()
{
$this->app->bind(ProductServiceInterface::class, ProductService::class);
}
4. Adım: Kullanma Dependency Injection
Denetleyicide, Dependency Injection şunu enjekte etmek için kullanabilirsiniz ProductService
:
use App\Contracts\ProductServiceInterface;
public function index(ProductServiceInterface $productService)
{
$products = $productService->getAllProducts();
return view('products.index', compact('products'));
}
Çözüm
Dependency Injection ve Service Container'ı kullanarak Laravel, bir ürün listesini yönetmek için bir uygulama oluşturduk. Bu yaklaşım, kaynak kodunu daha sürdürülebilir hale getirir ve uygulamanın farklı bileşenleri arasındaki bağımlılıkları azaltır.
. Dependency Injection _ Laravel _