mirror of
https://github.com/silverstripe/silverstripe-framework
synced 2024-10-22 12:05:37 +00:00
Merge pull request #500 from nyeholt/injector_strong_create
RECOMMIT This is a recommit of a previously merged, but reverted, commit...
This commit is contained in:
commit
f8921f7c9f
@ -118,7 +118,7 @@ class Config {
|
|||||||
* @return Config
|
* @return Config
|
||||||
*/
|
*/
|
||||||
static public function inst() {
|
static public function inst() {
|
||||||
if (!self::$instance) self::$instance = singleton('Config');
|
if (!self::$instance) self::$instance = new Config();
|
||||||
return self::$instance;
|
return self::$instance;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -356,8 +356,6 @@ function getClassFile($className) {
|
|||||||
* way to access instance methods which don't rely on instance
|
* way to access instance methods which don't rely on instance
|
||||||
* data (e.g. the custom SilverStripe static handling).
|
* data (e.g. the custom SilverStripe static handling).
|
||||||
*
|
*
|
||||||
* @uses Object::strong_create()
|
|
||||||
*
|
|
||||||
* @param string $className
|
* @param string $className
|
||||||
* @return Object
|
* @return Object
|
||||||
*/
|
*/
|
||||||
@ -367,7 +365,7 @@ function singleton($className) {
|
|||||||
if(!is_string($className)) user_error("singleton() passed bad class_name: " . var_export($className,true), E_USER_ERROR);
|
if(!is_string($className)) user_error("singleton() passed bad class_name: " . var_export($className,true), E_USER_ERROR);
|
||||||
if(!isset($_SINGLETONS[$className])) {
|
if(!isset($_SINGLETONS[$className])) {
|
||||||
if(!class_exists($className)) user_error("Bad class to singleton() - $className", E_USER_ERROR);
|
if(!class_exists($className)) user_error("Bad class to singleton() - $className", E_USER_ERROR);
|
||||||
$_SINGLETONS[$className] = Object::strong_create($className,null, true);
|
$_SINGLETONS[$className] = Injector::inst()->get($className);
|
||||||
if(!$_SINGLETONS[$className]) user_error("singleton() Unknown class '$className'", E_USER_ERROR);
|
if(!$_SINGLETONS[$className]) user_error("singleton() Unknown class '$className'", E_USER_ERROR);
|
||||||
}
|
}
|
||||||
return $_SINGLETONS[$className];
|
return $_SINGLETONS[$className];
|
||||||
|
@ -234,8 +234,7 @@ abstract class Object {
|
|||||||
$class = self::$strong_classes[$class];
|
$class = self::$strong_classes[$class];
|
||||||
}
|
}
|
||||||
|
|
||||||
$reflector = new ReflectionClass($class);
|
return Injector::inst()->createWithArgs($class, $args);
|
||||||
return $reflector->newInstanceArgs($args);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -92,7 +92,7 @@ class Versioned extends DataExtension {
|
|||||||
* The first stage is consiedered the 'default' stage, the last stage is
|
* The first stage is consiedered the 'default' stage, the last stage is
|
||||||
* considered the 'live' stage.
|
* considered the 'live' stage.
|
||||||
*/
|
*/
|
||||||
function __construct($stages) {
|
function __construct($stages=array('Stage','Live')) {
|
||||||
parent::__construct();
|
parent::__construct();
|
||||||
|
|
||||||
if(!is_array($stages)) {
|
if(!is_array($stages)) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user