diff options
Diffstat (limited to 'system/codeigniter/Common.php')
-rw-r--r-- | system/codeigniter/Common.php | 24 |
1 files changed, 21 insertions, 3 deletions
diff --git a/system/codeigniter/Common.php b/system/codeigniter/Common.php index f45c85c26..1ffed6a0c 100644 --- a/system/codeigniter/Common.php +++ b/system/codeigniter/Common.php @@ -150,17 +150,35 @@ function &load_class($class, $instantiate = TRUE) if ($is_subclass == TRUE) { $name = config_item('subclass_prefix').$class; - $objects[$class] =& new $name(); + + $objects[$class] =& instantiate_class(new $name()); return $objects[$class]; } $name = ($class != 'Controller') ? 'CI_'.$class : $class; - - $objects[$class] =& new $name(); + + $objects[$class] =& instantiate_class(new $name()); return $objects[$class]; } /** + * Instantiate Class + * + * Returns a new class object by reference, used by load_class() and the DB class. + * Required to retain PHP 4 compatibility and also not make PHP 5.3 cry. + * + * Use: $obj =& instantiate_class(new Foo()); + * + * @access public + * @param object + * @return object + */ +function &instantiate_class(&$class_object) +{ + return $class_object; +} + +/** * Loads the main config.php file * * @access private |