public function setLevel($level) { if (!is_string($level)) { parent::setLevel((int) $level); return; } if (!defined('\\Monolog\\Logger::' . $level)) { return; } parent::setLevel(constant('\\Monolog\\Logger::' . $level)); }
mkdir(join(\DIRECTORY_SEPARATOR, array(__DIR__, '..', 'src', 'app', 'Model', 'Entity'))); } $di = new Container(); /* Config */ $di['config'] = function () { return ['server' => ['base_uri' => 'https://localhost'], 'orm' => ['driver' => 'pdo_sqlite', 'memory' => true], 'storage' => ['path' => '']]; }; /* Monolog */ $di['log'] = function () { $log = new Logger('api'); //@note For debugging purposes $log->pushHandler(new SyslogHandler('minerva-debug')); //A simple release logging handler, which uses the system log. For multi-server setups, //this needs to be customized, if you want to collect all errors centralized. $syslogHandler = new SyslogHandler('minerva-warning'); $syslogHandler->setLevel(Logger::ERROR); $log->pushHandler($syslogHandler); return $log; }; /* Doctrine */ $di['orm'] = function () use($di) { //Create cached annotation reader AnnotationRegistry::registerFile(__DIR__ . '/../vendor/doctrine/orm/lib/Doctrine/ORM/Mapping/Driver/DoctrineAnnotations.php'); //@note The ArrayCache is not very fast, if possible, replace with e.g. Memcached $cache = new ArrayCache(); $annotationReader = new AnnotationReader(); $cachedAnnotationReader = new CachedReader($annotationReader, $cache); //Hook annotation driver into driver chain $driverChain = new DriverChain(); //Register entities $annotationDriver = new AnnotationDriver($cachedAnnotationReader, array(join(\DIRECTORY_SEPARATOR, array(__DIR__, '..', 'src', 'app', 'Model', 'Entity'))));