San Airteagal seo, beimid ag siúl trí Laravel úsáid a bhaint as feidhmchlár a thógáil Dependency Injection chun spleáchais a bhainistiú agus struchtúr cód foinse níos inbhuanaithe a chruthú. Cruthóimid sampla simplí de bhainistiú liosta táirgí i siopa.
Céim 1: Ullmhúchán
Ar an gcéad dul síos, cinntigh go bhfuil tú Laravel suiteáilte ar do ríomhaire. Is féidir leat úsáid a bhaint as Composer chun tionscadal nua a chruthú Laravel:
composer create-project --prefer-dist laravel/laravel DependencyInjectionApp
Tar éis duit an tionscadal a chruthú, déan nascleanúint chuig eolaire an tionscadail:
cd DependencyInjectionApp
Céim 2: Cruthaigh Service agus Interface
Tosaímid le service liosta táirgí a chruthú chun an liosta táirgí a bhainistiú. Cruthaigh interface agus rang a chuireann seo i bhfeidhm interface:
Cruthaigh an comhad app/Contracts/ProductServiceInterface.php
:
<?php
namespace App\Contracts;
interface ProductServiceInterface
{
public function getAllProducts();
public function getProductById($id);
}
Cruthaigh an comhad 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
}
}
Céim 3: Cláraigh sa Service Coimeádán
Oscail an comhad app/Providers/AppServiceProvider.php
agus cuir leis an register
bhfeidhm:
use App\Contracts\ProductServiceInterface;
use App\Services\ProductService;
public function register()
{
$this->app->bind(ProductServiceInterface::class, ProductService::class);
}
Céim 4: Ag baint úsáide as Dependency Injection
Sa rialtóir, is féidir leat a úsáid Dependency Injection chun an ProductService
:
use App\Contracts\ProductServiceInterface;
public function index(ProductServiceInterface $productService)
{
$products = $productService->getAllProducts();
return view('products.index', compact('products'));
}
Conclúid
Trí úsáid a bhaint as Dependency Injection agus an Service Coimeádán i Laravel, tá feidhmchlár tógtha againn chun liosta táirgí a bhainistiú. Déanann an cur chuige seo an cód foinse níos inbhuanaithe agus laghdaíonn sé spleáchas idir comhpháirteanna éagsúla an fheidhmchláir.
Déan an tionscadal a chleachtadh agus a shaincheapadh de réir do riachtanas chun tuiscint níos doimhne a fháil ar úsáid Dependency Injection i Laravel.