Mercurial > hg > isophonics-drupal-site
view vendor/symfony/serializer/Mapping/Factory/ClassResolverTrait.php @ 12:7a779792577d
Update Drupal core to v8.4.5 (via Composer)
author | Chris Cannam |
---|---|
date | Fri, 23 Feb 2018 15:52:07 +0000 |
parents | 4c8ae668cc8c |
children | 129ea1e6d783 |
line wrap: on
line source
<?php /* * This file is part of the Symfony package. * * (c) Fabien Potencier <fabien@symfony.com> * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Symfony\Component\Serializer\Mapping\Factory; use Symfony\Component\Serializer\Exception\InvalidArgumentException; /** * Resolves a class name. * * @internal * * @author Kévin Dunglas <dunglas@gmail.com> */ trait ClassResolverTrait { /** * Gets a class name for a given class or instance. * * @param mixed $value * * @return string * * @throws InvalidArgumentException If the class does not exists */ private function getClass($value) { if (is_string($value)) { if (!class_exists($value) && !interface_exists($value)) { throw new InvalidArgumentException(sprintf('The class or interface "%s" does not exist.', $value)); } return ltrim($value, '\\'); } if (!is_object($value)) { throw new InvalidArgumentException(sprintf('Cannot create metadata for non-objects. Got: "%s"', gettype($value))); } return get_class($value); } }