PhpDriver.php 897 B

12345678910111213141516171819202122232425262728
  1. <?php
  2. namespace JMS\SerializerBundle\Metadata\Driver;
  3. use JMS\SerializerBundle\Metadata\ClassMetadata;
  4. use Metadata\Driver\AbstractFileDriver;
  5. class PhpDriver extends AbstractFileDriver
  6. {
  7. protected function loadMetadataFromFile(\ReflectionClass $class, $file)
  8. {
  9. $metadata = require $file;
  10. if (!$metadata instanceof ClassMetadata) {
  11. throw new \RuntimeException(sprintf('The file %s was expected to return an instance of ClassMetadata, but returned %s.', $file, json_encode($metadata)));
  12. }
  13. if ($metadata->name !== $class->getName()) {
  14. throw new \RuntimeException(sprintf('The file %s was expected to return metadata for class %s, but instead returned metadata for class %s.', $class->getName(), $metadata->name));
  15. }
  16. return $metadata;
  17. }
  18. protected function getExtension()
  19. {
  20. return 'php';
  21. }
  22. }