Example #1
0
 public function setDriver($driver)
 {
     $instance = null;
     if ($driver && !is_object($driver) || is_callable($driver)) {
         $instance = new_instance($driver);
     }
     $this->setDriver($instance);
 }
Example #2
0
 /**
  * @param string $handle
  * @param mixed $driver
  * return LoggerDriverMap
  */
 public function add(string $handle, $driver)
 {
     if (!$driver instanceof LoggerDriverMap) {
         $driver = new_instance($driver);
     }
     if (!$driver instanceof LoggerDriverMap) {
         throw new InvalidDriverException("Passed driver must resolve to `LoggerDriverMap` instance.");
     }
     $this->containerSet($handle, $driver);
 }
Example #3
0
 /**
  * @param $mixed
  * @return $mixed Returns an instance of $mixed
  */
 function new_instance($mixed, ...$params)
 {
     if (is_callable($mixed)) {
         return new_instance($mixed(), ...$params);
     }
     if (is_array($mixed)) {
         return new_instance(implode("\\", $mixed), ...$params);
     }
     if (is_object($mixed)) {
         return new_instance(get_class($mixed), ...$params);
     }
     $mixed = (string) $mixed;
     return new $mixed(...$params);
 }