Mock třídy dědící od \ReflectionClass
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- echo
- Člen | 134
Zdravím,
potřebuju něco jako
$mockista = new \Mockista\Registry;
$entityReflectionMock = $mockista->create('LeanMapper\Reflection\EntityReflection');
jenže ta třída dědí od \ReflectionClass a PHP vyhodí „Cannot determine default value for internal functions“.
Jde to nějak elegantně vyřešit?
Díky
- llook
- Člen | 407
Zkus to nareportovat, tohle by podle mě měl řešit Mockista.
On předpokládá, že pokud $parameter->isOptional()
, tak
že existuje výchozí hodnota, ale to u interních funkcí tak úplně
neplatí – výchozí hodnoty jsou v dokumentaci, ale reflexe je nezná.
Snad by stačilo následující kód v Mockistovi:
if ($parameter->isOptional()) {
$parameterDesc['default'] = $parameter->getDefaultValue();
}
Přepsat takhle:
if ($parameter->isOptional()) {
if (!$parameter->isDefaultValueAvailable()) {
break;
}
$parameterDesc['default'] = $parameter->getDefaultValue();
}
- Honza Marek
- Člen | 1664