Ad esempio se ho una costante, come la dimensione della password generata, allora dove dovrei mettere quella costante se il generatore di password casuali è implementato nell'infrastruttura? Immagino che questo dovrebbe essere un servizio di dominio, ma suppongo di non poter inserire la costante nell'interfaccia di servizio. O posso?
Ho finito con questo:
namespace Example\domain;
interface iRandomPasswordService {
const RANDOM_PASSWORD_SIZE = 6;
public function getPassword();
}
namespace Example\infrastructure;
use Example\domain\iRandomPasswordService;
use Example\domain\Password;
use JUserHelper;
class RandomPasswordService implements iRandomPasswordService {
public function getPassword(){
$randomPassword = JUserHelper::genRandomPassword(self::RANDOM_PASSWORD_SIZE);
return new Password($randomPassword);
}
}
Anch'io odio PHP e Joomla, non ne parlo. Sto aspettando un'approvazione o un'idea migliore. : -)