Esempio n. 1
0
 public static function get($keys = null)
 {
     $keys = $keys === null ? [] : is_array($keys) ? $keys : func_get_args();
     try {
         return \Owl\array_get_in(self::$config, $keys);
     } catch (\RuntimeException $ex) {
         return false;
     }
 }
Esempio n. 2
0
 /**
  * @depends testArraySetIn
  */
 public function testArrayGetIn(array $target)
 {
     $this->assertSame(3, \Owl\array_get_in($target, ['f']));
     $this->assertSame(1, \Owl\array_get_in($target, ['a', 'b', 'c', 'd']));
     $this->assertSame(2, \Owl\array_get_in($target, ['a', 'b', 'e']));
     $this->assertSame(['d' => 1], \Owl\array_get_in($target, ['a', 'b', 'c']));
     $this->assertFalse(\Owl\array_get_in($target, ['g']));
     $this->assertFalse(\Owl\array_get_in($target, ['a', 'c']));
     $this->assertFalse(\Owl\array_get_in($target, ['a', 'b', 'c', 'd', 'e']));
     return $target;
 }
Esempio n. 3
0
function get_logger($name = 'default')
{
    static $loggers = [];
    $name = strtolower($name);
    if (!isset($loggers[$name])) {
        $logger = new \Monolog\Logger($name);
        $config = Config::get('loggers', $name);
        if (!$config) {
            throw new \Exception('Undefined logger: ' . $name);
        }
        foreach ($config['handlers'] as $handler_config) {
            $class = new \ReflectionClass($handler_config['class']);
            $arguments = \Owl\array_get_in($handler_config, ['arguments']) ?: [];
            $handler = $class->newInstanceArgs($arguments);
            if (isset($handler_config['level'])) {
                $handler->setLevel($handler_config['level']);
            }
            $logger->pushHandler($handler);
        }
        $loggers[$name] = $logger;
    }
    return $loggers[$name];
}
Esempio n. 4
0
 /**
  * @param string       $key
  * @param array|string $path
  *
  * @return mixed|false
  */
 public function getIn($key, $path)
 {
     $target = $this->get($key);
     $path = (array) $path;
     if (!is_array($target)) {
         return false;
     }
     return \Owl\array_get_in($target, $path);
 }