/** * Core class will extend default spiral container and initiate set of directories. You must * provide application, libraries and root directories to constructor. * * @param array $directories Core directories list. */ public function __construct(array $directories) { //Container constructing parent::__construct(); $this->directories = $directories + ['public' => $directories['root'] . '/webroot', 'config' => $directories['application'] . '/config', 'runtime' => $directories['application'] . '/runtime', 'cache' => $directories['application'] . '/runtime/cache']; if (empty($this->environment)) { //This is spiral shortcut to set environment, can be redefined by custom application class. $filename = $this->directory('runtime') . '/environment.php'; $this->setEnvironment(file_exists($filename) ? require $filename : self::DEVELOPMENT); } date_default_timezone_set($this->timezone); }