for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
namespace Del\Factory;
use Del\Entity\Country;
use Del\CountryException;
use Del\Repository\CountryRepository;
class CountryFactory
{
/**
* @var CountryRepository $countryRepository
*/
private $countryRepository;
private function __construct()
}
private function __clone()
* @param string $id
* @return Country
public static function generate(string $id): Country
static $inst = null;
if ($inst === null) {
$inst = new CountryFactory();
$inst->countryRepository = new CountryRepository();
$data = $inst->countryRepository->findCountryByIsoCode($id);
return $inst->countryRepository->createFromArray($data);
$data
object<Del\Entity\Country>
array
It seems like the type of the argument is not accepted by the function/method which you are calling.
In some cases, in particular if PHP’s automatic type-juggling kicks in this might be fine. In other cases, however this might be a bug.
We suggest to add an explicit type cast like in the following example:
function acceptsInteger($int) { } $x = '123'; // string "123" // Instead of acceptsInteger($x); // we recommend to use acceptsInteger((integer) $x);
* @param CountryRepository $countryRepository
public function setCountryRepository(CountryRepository $countryRepository): void
$this->countryRepository = $countryRepository;
It seems like the type of the argument is not accepted by the function/method which you are calling.
In some cases, in particular if PHP’s automatic type-juggling kicks in this might be fine. In other cases, however this might be a bug.
We suggest to add an explicit type cast like in the following example: