diff --git a/DataStorage/Database/DataMapperAbstract.php b/DataStorage/Database/DataMapperAbstract.php index 14946e0e1..e4636c90e 100644 --- a/DataStorage/Database/DataMapperAbstract.php +++ b/DataStorage/Database/DataMapperAbstract.php @@ -2008,7 +2008,7 @@ class DataMapperAbstract implements DataMapperInterface public static function populate(array $result, $obj = null) { $class = static::class; - $class = empty(static::$model) ? \str_replace('Mapper', '', $class) : static::$model; // @todo: replace str_replace with substr!!! + $class = empty(static::$model) ? \substr($class, 0, -6) : static::$model; if (empty($result)) { $parts = \explode('\\', $class); @@ -2450,7 +2450,7 @@ class DataMapperAbstract implements DataMapperInterface private static function getNullModelObj() { $class = static::class; - $class = empty(static::$model) ? \str_replace('Mapper', '', $class) : static::$model; // @todo replace str_replace with substr!!! + $class = empty(static::$model) ? \substr($class, 0, -6) : static::$model; $parts = \explode('\\', $class); $name = $parts[$c = (\count($parts) - 1)]; $parts[$c] = 'Null' . $name; diff --git a/Dispatcher/Dispatcher.php b/Dispatcher/Dispatcher.php index c20182758..e4caae6a3 100644 --- a/Dispatcher/Dispatcher.php +++ b/Dispatcher/Dispatcher.php @@ -68,11 +68,11 @@ final class Dispatcher implements DispatcherInterface if (\is_array($controller)) { if (isset($controller['dest'])) { - $controller = $controller['dest']; - } + if (!empty($data) && !empty($controller['data'])) { + $data = \array_merge($data, $controller['data']); + } - if (isset($controller['dest'])) { - $data = \array_merge($data, $controller['data']); + $controller = $controller['dest']; } }