for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
declare(strict_types=1);
namespace ProxyManager\Exception;
use LogicException;
use ProxyManager\ProxyGenerator\Util\Properties;
use ReflectionClass;
use ReflectionProperty;
use function array_map;
use function implode;
use function sprintf;
/**
* Exception for invalid proxied classes
*/
class UnsupportedProxiedClassException extends LogicException implements ExceptionInterface
{
public static function unsupportedLocalizedReflectionProperty(ReflectionProperty $property) : self
return new self(
sprintf(
'Provided reflection property "%s" of class "%s" is private and cannot be localized in PHP 5.3',
$property->getName(),
$property->getDeclaringClass()->getName()
)
);
}
public static function nonReferenceableLocalizedReflectionProperties(
ReflectionClass $class,
Properties $properties
) : self {
return new self(sprintf(
'Cannot create references for following properties of class %s: %s',
$class->getName(),
implode(', ', array_map(static function (ReflectionProperty $property) : string {
return $property->getName();
}, $properties->getInstanceProperties()))
));