Sto lavorando a un progetto, usiamo DDD e ora vogliamo implementare la localizzazione per alcuni campi.
Esempio:
<?php
class Product
{
private $id;
private $name;
public function __construct($id, $name)
{
$this->id = $id;
$this->name = $name;
}
}
Ho un servizio per creare questo prodotto:
Esempio:
<?php
class CreateProductService
{
private $productRepository;
public function __construct($productRepository)
{
$this->productRepository = $productRepository;
}
public function execute(CreateProductRequest $request)
{
$product = new Product(
$request->getId(),
$request->getName(),
);
$this->productRepository->create($product);
}
}
Quindi ora voglio cambiare la richiesta DTO per ottenere i nomi invece del nome perché dal modulo ora ho questi:
$names = [
'es' => 'Name in spanish',
'en' => 'Name in english',
...
]
Qual è l'approccio migliore per raggiungere questo obiettivo?
Ho letto su Internet che non è una buona pratica avere nel modello Product una serie di nomi, quindi cosa suggerisci?
Grazie.