From 008acc99a0507ea1e228b9bab76508fdc3aae89a Mon Sep 17 00:00:00 2001 From: Sean Harvey Date: Mon, 3 Aug 2009 06:19:00 +0000 Subject: [PATCH] MINOR If the instance class property can't be found in DataObject::defineMethods(), throw an error because parent::__construct() hasn't been called which will break DataObjectDecorator git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/branches/2.3@83580 467b73ca-7a2a-4603-9d3b-597d59a354a9 --- core/model/DataObject.php | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/core/model/DataObject.php b/core/model/DataObject.php index 369030ce9..1296b99d3 100644 --- a/core/model/DataObject.php +++ b/core/model/DataObject.php @@ -302,6 +302,10 @@ class DataObject extends ViewableData implements DataObjectInterface, i18nEntity // those objects, which is a better mechanism. Perhaps extensions defined inside the // class def can somehow be applied at definiton time also? if($this->extension_instances) foreach($this->extension_instances as $i => $instance) { + if(!$instance->class) { + $class = get_class($instance); + user_error("DataObject::defineMethods(): Please ensure {$class}::__construct() calls parent::__construct()", E_USER_ERROR); + } DataObjectDecorator::load_extra_statics($this->class, $instance->class); }