BaseYii createObject()

createObject() public static method

Creates a new object using the given configuration.

You may view this method as an enhanced version of the new operator. The method supports creating an object based on a class name, a configuration array or an anonymous function.

Below are some usage examples:

// create an object using a class name
$object = Yii::createObject('yii\db\Connection');

// create an object using a configuration array
$object = Yii::createObject([
    'class' => 'yii\db\Connection',
    'dsn' => 'mysql:host=127.0.0.1;dbname=demo',
    'username' => 'root',
    'password' => '',
    'charset' => 'utf8',
]);

// create an object with two constructor parameters
$object = \Yii::createObject('MyClass', [$param1, $param2]);

Using dependency injection container, this method can also identify dependent objects, instantiate them and inject them into the newly created object.

See also yii\di\Container.

public static object createObject ( $type, array $params = [] )
$type string|array|callable

The object type. This can be specified in one of the following forms:

  • a string: representing the class name of the object to be created
  • a configuration array: the array must contain a class element which is treated as the object class, and the rest of the name-value pairs will be used to initialize the corresponding object properties
  • a PHP callable: either an anonymous function or an array representing a class method ([$class or $object, $method]). The callable should return a new instance of the object being created.
$params array

The constructor parameters

return object

The created object

throws yii\base\InvalidConfigException

if the configuration is invalid.

doc_Yii
2016-10-30 16:50:26
Comments
Leave a Comment

Please login to continue.