Bolt\Storage\Mapping\MetadataDriver::loadMetadataForClass PHP Метод

loadMetadataForClass() публичный Метод

public loadMetadataForClass ( $className, Doctrine\Common\Persistence\Mapping\ClassMetadata $metadata = null )
$metadata Doctrine\Common\Persistence\Mapping\ClassMetadata
    public function loadMetadataForClass($className, ClassMetadata $metadata = null)
    {
        if (null === $metadata) {
            $fullClassName = $this->resolveClassName($className);
            $metadata = new BoltClassMetadata($fullClassName, $this->namingStrategy);
        }
        if (!$this->initialized) {
            $this->initialize();
        }
        $className = $this->normalizeClassName($className);
        if (array_key_exists($className, $this->metadata)) {
            $data = $this->metadata[$className];
            $metadata->setTableName($data['table']);
            $metadata->setIdentifier($data['identifier']);
            $metadata->setFieldMappings($data['fields']);
            $metadata->setBoltName($data['boltname']);
            return $metadata;
        } else {
            throw new StorageException("Attempted to load mapping data for unmapped class {$className}");
        }
    }

Usage Example

Пример #1
0
 public function testInitialize()
 {
     $app = $this->getApp();
     $map = new MetadataDriver($app['schema'], $app['config']->get('contenttypes'), $app['config']->get('taxonomy'), $app['storage.typemap']);
     $map->initialize();
     $metadata = $map->loadMetadataForClass('Bolt\\Storage\\Entity\\Users');
     $this->assertNotNull($metadata);
     $this->assertEquals('bolt_users', $metadata->getTableName());
     $field = $metadata->getFieldMapping('id');
     $this->assertEquals('id', $field['fieldname']);
 }