Use getClassName instead of overwriting createInstance.

This commit is contained in:
David Molineus
2015-01-08 12:57:14 +01:00
parent 7520cbd55e
commit 16f8c41f6f
3 changed files with 11 additions and 22 deletions

View File

@@ -38,16 +38,13 @@ class GroupLayerMapper extends AbstractLayerMapper
/** /**
* {@inheritdoc} * {@inheritdoc}
*/ */
protected function createInstance(\Model $model, DefinitionMapper $mapper, LatLngBounds $bounds = null) protected function getClassName(\Model $model, DefinitionMapper $mapper, LatLngBounds $bounds = null)
{ {
$class = $model->groupType === 'feature' if ($model->groupType === 'feature') {
? 'Netzmacht\LeafletPHP\Definition\Group\FeatureGroup' return 'Netzmacht\LeafletPHP\Definition\Group\FeatureGroup';
: static::$definitionClass; }
$reflector = new \ReflectionClass($class); return parent::getClassName($model, $mapper, $bounds); // TODO: Change the autogenerated stub
$instance = $reflector->newInstanceArgs($this->buildConstructArguments($model, $mapper, $bounds));
return $instance;
} }
/** /**

View File

@@ -53,18 +53,13 @@ class ProviderLayerMapper extends AbstractLayerMapper
/** /**
* {@inheritdoc} * {@inheritdoc}
*/ */
protected function createInstance(\Model $model, DefinitionMapper $mapper, LatLngBounds $bounds = null) protected function getClassName(\Model $model, DefinitionMapper $mapper, LatLngBounds $bounds = null)
{ {
if (isset($this->providers[$model->tile_provider]['class'])) { if (isset($this->providers[$model->tile_provider]['class'])) {
$class = $this->providers[$model->tile_provider]['class']; return $this->providers[$model->tile_provider]['class'];
} else {
$class = static::$definitionClass;
} }
$reflector = new \ReflectionClass($class); return parent::getClassName($model, $mapper, $bounds);
$instance = $reflector->newInstanceArgs($this->buildConstructArguments($model, $mapper, $bounds));
return $instance;
} }
/** /**

View File

@@ -43,16 +43,13 @@ class VectorsLayerMapper extends AbstractLayerMapper implements GeoJsonMapper
/** /**
* {@inheritdoc} * {@inheritdoc}
*/ */
protected function createInstance(\Model $model, DefinitionMapper $mapper, LatLngBounds $bounds = null) protected function getClassName(\Model $model, DefinitionMapper $mapper, LatLngBounds $bounds = null)
{ {
if ($model->deferred) { if ($model->deferred) {
$reflector = new \ReflectionClass('Netzmacht\LeafletPHP\Plugins\Ajax\GeoJsonAjax'); return 'Netzmacht\LeafletPHP\Plugins\Ajax\GeoJsonAjax';
$instance = $reflector->newInstanceArgs($this->buildConstructArguments($model, $mapper, $bounds));
return $instance;
} }
return parent::createInstance($model, $mapper, $bounds); return parent::getClassName($model, $mapper, $bounds);
} }
/** /**