dobrosite / dobrosite-kernel
DobroSite CMS 内核
0.5.0
2018-10-12 09:57 UTC
Requires
- php: >=5.5.9
- symfony/config: ^3.4|^4.0
- symfony/dependency-injection: ^3.4|^4.0
- symfony/http-foundation: ^3.4|^4.0
- symfony/http-kernel: ^3.4|^4.0
Requires (Dev)
- behat/behat: ^3.0
- phpunit/phpunit: ^6.0
- symfony/process: ^3.4|^4.0
README
内核 —— 连接所有使用组件的节点。
内核开发侧重以下要求。
- 内核应易于集成到现有应用程序中(通常为CMS)。
开箱即用的内核
要访问内核,只需连接 Composer 类加载器即可
<?php use DobroSite\CMS\Kernel\ScriptKernel; require_once 'vendor/autoload.php'; $service = ScriptKernel::getInstance()->getContainer()->get('...');
允许使用
- 依赖项容器;
- 配置文件。
在此过程中,内核使用以下值
- 环境名称(
Kernel::getEnvironment()
) ——prod
; - 调试模式(
Kernel::isDebug()
) —— 关闭; - 根目录(
Kernel::getRootDir()
) —— 包含composer.lock
文件的目录; - 缓存目录(
Kernel::getCacheDir()
) ——<系统临时文件夹>/<根目录 sha1 哈希>/cache/<环境名称>
; - 日志目录(
Kernel::getLogDir()
) ——<系统临时文件夹>/<根目录 sha1 哈希>/logs
; - 配置文件
config/services.yaml
;config/services_<环境名称>.yaml
.
自定义内核配置
如果上述默认值不适用,您可以通过类 Configuration 来覆盖它们。为此,建议创建一个单独的文件,例如名为 bootstrap.php
,如下所示
<?php use DobroSite\CMS\Kernel\Configuration; use DobroSite\CMS\Kernel\ScriptKernel; require_once 'vendor/autoload.php'; $configuration = new Configuration(); $configuration ->setConfigDir(__DIR__.'/config'); ScriptKernel::setConfiguration($configuration);
现在,您可以将其连接到所有相关文件,而不是 autoload.php
<?php use DobroSite\CMS\Kernel\ScriptKernel; require_once 'bootstrap.php'; $service = ScriptKernel::getInstance()->getContainer()->get('...');