diff --git a/system/src/Grav/Framework/Object/ObjectCollectionTrait.php b/system/src/Grav/Framework/Object/ObjectCollectionTrait.php index 51e48061b..bcfa41408 100644 --- a/system/src/Grav/Framework/Object/ObjectCollectionTrait.php +++ b/system/src/Grav/Framework/Object/ObjectCollectionTrait.php @@ -14,12 +14,6 @@ namespace Grav\Framework\Object; */ trait ObjectCollectionTrait { - /** - * @param array $elements - * @return static - */ - abstract public function createFrom(array $elements); - /** * Create a copy from this collection by cloning all objects in the collection. * @@ -32,7 +26,12 @@ trait ObjectCollectionTrait $list[$key] = is_object($value) ? clone $value : $value; } - return $this->createFrom($list); + if (method_exists($this, 'createFrom')) { + return $this->createFrom($list); + } else { + // TODO: remove when PHP 5.6 is minimum (with doctrine/collections v1.4). + return new static($list); + } } /**