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.