This commit is contained in:
Qiang Xue
2012-01-30 13:27:12 -05:00
parent e5534b3c14
commit 1978a4efca
8 changed files with 1282 additions and 832 deletions

View File

@ -302,22 +302,21 @@ class Object
{
$class = '\\' . get_called_class();
if (($n = func_num_args()-1) > 0) {
if (($n = func_num_args()) > 1) {
$args = func_get_args();
array_shift($args); // remove $config
}
if ($n === 0) {
$object = new $class;
} elseif ($n === 1) {
$object = new $class($args[0]);
} elseif ($n === 2) {
$object = new $class($args[0], $args[1]);
} elseif ($n === 3) {
$object = new $class($args[0], $args[1], $args[2]);
if ($n === 2) {
$object = new $class($args[1]);
} elseif ($n === 3) {
$object = new $class($args[1], $args[2]);
} elseif ($n === 4) {
$object = new $class($args[1], $args[2], $args[3]);
} else {
array_shift($args); // remove $config
$r = new \ReflectionClass($class);
$object = $r->newInstanceArgs($args);
}
} else {
$r = new \ReflectionClass($class);
$object = $r->newInstanceArgs($args);
$object = new $class;
}
if (isset(\Yii::$objectConfig[$class])) {