public function buildFactory($className)
{
$reflectionClass = $this->getReflectionClass($className);
if ($this->isInstantiableViaReflection($reflectionClass)) {
return function () use($reflectionClass) {
return $reflectionClass->newInstanceWithoutConstructor();
};
}
$serializedString = sprintf('%s:%d:"%s":0:{}', $this->getSerializationFormat($reflectionClass), strlen($className), $className);
$this->attemptInstantiationViaUnSerialization($reflectionClass, $serializedString);
return function () use($serializedString) {
return unserialize($serializedString);
};
}