function _getService() { return ServiceFactory::get('native', ['viewPath' => __DIR__ . '/views/', 'elementPath' => __DIR__ . '/elements/', 'layoutPath' => __DIR__ . '/layouts/']); }
use Slince\Di\Container; use Slince\Routing\RouterFactory; use Slince\View\ServiceFactory; use Slince\Application\Kernel; use Slince\Di\Definition; use Monolog\Logger; use Monolog\Handler\StreamHandler; return function (Container $container, Kernel $kernel) { //核心组件 // config $container->alias('config', '\\Slince\\Config\\Config'); // dispatcher $container->alias('dispatcher', '\\Slince\\Event\\Dispatcher'); // kernel cache $container->alias('kernelCache', '\\Slince\\Cache\\ArrayCache'); // router $container->share('router', function () { return RouterFactory::create(); }); $container->share('view', function () { $viewManager = ServiceFactory::get('native'); $viewManager->registerHelperClasses(['asset' => '\\Slince\\Application\\Helper\\AssetHelper', 'url' => '\\Slince\\Application\\Helper\\UrlHelper']); return $viewManager; }); $container->share('log', function () use($kernel) { $handler = new StreamHandler($kernel->getLogPath() . '/app.log'); return new Logger('app', [$handler]); }); $container->setDefinition('cache', new Definition('\\Slince\\Cache\\FileCache', [$kernel->getRootPath() . 'tmp/cache']), true); };