Example #1
0
 /**
  * Create object by mixed configuration data
  *
  * @param mixed       $config Configuration data
  * @param array       $args   Constructor arguments
  * @param string|null $base   Base class
  *
  * @throws \InvalidArgumentException
  *
  * @return mixed
  */
 public static function objectify($config = null, $args = array(), $base = null)
 {
     if (is_string($config)) {
         $config = new self(array('class' => $config));
     } elseif (is_array($config)) {
         $config = new self($config);
     } elseif (!$config instanceof self) {
         throw new \InvalidArgumentException("Object creation data is invalid.");
     }
     $object = $config->instantiate($args, $base);
     return $object;
 }