Laravel Ebben a cikkben egy alkalmazás felépítését mutatjuk be Dependency Injection a függőségek kezelésére és egy karbantarthatóbb forráskód-struktúra létrehozására. Létrehozunk egy egyszerű példát a terméklista kezelésére az üzletben.
1. lépés: Előkészítés
Először is győződjön meg arról, hogy telepítette Laravel a számítógépére. Composer Új projekt létrehozásához használhatja Laravel:
composer create-project --prefer-dist laravel/laravel DependencyInjectionApp
A projekt létrehozása után lépjen a projektkönyvtárba:
cd DependencyInjectionApp
2. lépés: Hozzon létre Service és Interface
Kezdjük azzal, hogy létrehozzuk service a terméklistát. Hozzon létre egy interface és egy osztályt, amely ezt megvalósítja interface:
Hozd létre a fájlt app/Contracts/ProductServiceInterface.php
:
<?php
namespace App\Contracts;
interface ProductServiceInterface
{
public function getAllProducts();
public function getProductById($id);
}
Hozd létre a fájlt 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. lépés: Regisztráljon a Service tárolóban
Nyissa meg a fájlt app/Providers/AppServiceProvider.php
, és adja hozzá a register
függvényhez:
use App\Contracts\ProductServiceInterface;
use App\Services\ProductService;
public function register()
{
$this->app->bind(ProductServiceInterface::class, ProductService::class);
}
4. lépés: Használat Dependency Injection
A vezérlőbe a következőket használhatja Dependency Injection a következő befecskendezésére ProductService
:
use App\Contracts\ProductServiceInterface;
public function index(ProductServiceInterface $productService)
{
$products = $productService->getAllProducts();
return view('products.index', compact('products'));
}
Következtetés
Dependency Injection A és a Service Container használatával Laravel építettünk egy alkalmazást a terméklista kezelésére. Ez a megközelítés karbantarthatóbbá teszi a forráskódot, és csökkenti az alkalmazás különböző összetevői közötti függőséget.
Gyakorolja és szabja testre a projektet igényeinek megfelelően, hogy mélyebben megértse a Dependency Injection használatot Laravel.