public function __construct() { parent::__construct(); $app = $this; // -- global generic parameters --------------------------------------- $this['app.debug'] = false; $this['app.charset'] = 'UTF-8'; $this['app.name'] = 'easybook'; $this['app.signature'] = <<<SIGNATURE ___ ____ _ ____ ____ _ ________ |_ ||_ _| (_)|_ _| |_ _|(_) | |_/ / __ \\ \\ /\\ / / __ | __'. [ | \\ \\/ \\/ / [ | _| | \\ \\_ | | \\ /\\ / | | |____||____|[___] \\/ \\/ [___] SIGNATURE; /* KKKKKKKKK KKKKKKK iiii WWWWWWWW WWWWWWWW iiii K:::::::K K:::::K i::::iW::::::W W::::::Wi::::i K:::::::K K:::::K iiii W::::::W W::::::W iiii K:::::::K K::::::K W::::::W W::::::W KK::::::K K:::::KKKiiiiiii W:::::W WWWWW W:::::Wiiiiiii K:::::K K:::::K i:::::i W:::::W W:::::W W:::::W i:::::i K::::::K:::::K i::::i W:::::W W:::::::W W:::::W i::::i K:::::::::::K i::::i W:::::W W:::::::::W W:::::W i::::i K:::::::::::K i::::i W:::::W W:::::W:::::W W:::::W i::::i K::::::K:::::K i::::i W:::::W W:::::W W:::::W W:::::W i::::i K:::::K K:::::K i::::i W:::::W:::::W W:::::W:::::W i::::i KK::::::K K:::::KKK i::::i W:::::::::W W:::::::::W i::::i K:::::::K K::::::Ki::::::i W:::::::W W:::::::W i::::::i K:::::::K K:::::Ki::::::i W:::::W W:::::W i::::::i K:::::::K K:::::Ki::::::i W:::W W:::W i::::::i KKKKKKKKK KKKKKKKiiiiiiii WWW WWW iiiiiiii '|| //' '|| ||` || // '' || || '' ||<< || || /\ || || || \\ || \\//\\// || .|| \\. .||. \/ \/ .||. _ __ _ __ __ _ | |/ / (_) \ \ / / (_) | ' / _ \ \ /\ / / _ | < | | \ \/ \/ / | | | . \ | | \ /\ / | | |_|\_\ |_| \/ \/ |_| */ //SIGNATURE; // -- global directories location ------------------------------------- $this['app.dir.base'] = realpath(__DIR__ . '/../../../'); $this['app.dir.cache'] = $this['app.dir.base'] . '/app/Cache'; $this['app.dir.doc'] = $this['app.dir.base'] . '/doc'; $this['app.dir.resources'] = $this['app.dir.base'] . '/app/Resources'; $this['app.dir.plugins'] = $this['app.dir.base'] . '/src/Easybook/Plugins'; $this['app.dir.translations'] = $this['app.dir.resources'] . '/Translations'; $this['app.dir.skeletons'] = $this['app.dir.resources'] . '/Skeletons'; $this['app.dir.themes'] = $this['app.dir.resources'] . '/Themes'; // -- console --------------------------------------------------------- $this['console.input'] = null; $this['console.output'] = null; $this['console.dialog'] = null; // maintained for backwards compatibility $this['publishing.id'] = function () { trigger_error('The "publishing.id" option is deprecated since version 5.0 and will be removed in the future. Use "publishing.edition.id" instead.', E_USER_DEPRECATED); }; // -- event dispatcher ------------------------------------------------ $this['dispatcher'] = function () { return new EventDispatcher(); }; // -- finder ---------------------------------------------------------- $this['finder'] = $this->factory(function () { return new Finder(); }); // -- filesystem ------------------------------------------------------ $this['filesystem'] = $this->factory(function () { return new Filesystem(); }); $this->register(new ApiServiceProvider()); $this->loadPlugins(); /* $providers = (array) require __DIR__.'/providers.php'; array_walk($providers, function($class, $i, $app) { class_exists($class) AND $app->register(new $class); }, $app);*/ // -- titles ---------------------------------------------------------- $this['titles'] = function () use($app) { $titles = Yaml::parse($app['app.dir.translations'] . '/titles.' . $app->book('language') . '.yml'); // books can define their own titles files if (null !== ($customTitlesFile = $app->getCustomTitlesFile())) { $customTitles = Yaml::parse($customTitlesFile); return Toolkit::array_deep_merge_and_replace($titles, $customTitles); } return $titles; }; }