## 新建core/Config.php
```
<?php
namespace core;
class Config
{
protected $config = [];
// 扫描 config 文件夹,加入到配置的大数组
public function init()
{
foreach (glob(FRAME_BASE_PATH.'/config/*.php') as $file){
$key = str_replace('.php','',basename($file));
$this->config[$key] = require $file;
}
}
// 获取配置
public function get($key)
{
$keys = explode('.',$key);
$config = $this->config;
foreach ($keys as $key)
$config = $config[$key];
return $config;
}
// 重置配置的值
public function set($key, $val)
{
$keys = explode('.', $key);
$newconfig = &$this->config;
foreach($keys as $key)
$newconfig = &$newconfig[$key]; // 传址
$newconfig = $val;
}
}
```
### 绑定配置
`app.php`
![](https://img.kancloud.cn/1d/81/1d81688be60ad3995221e501e6998899_563x251.png)
### 加载配置
![](https://img.kancloud.cn/01/56/01563a0340dd559b90d6d9103f74cd90_670x472.png)
现在 配置信息已经完成了,接下来是运行下看看。
### 创建config/database.php
```
<?php
return [
'default' => 'hello world',
'connections' => [
'mysql_one' => [
'driver' => 'mysql',
'host' => '134.175.80.215',
'username' => 'php_frame',
'dbname' => 'php_frame',
'password' => '12345678',
'prefix' => '',
'options' => [
]
],
]
];
```
### 编辑routes/web.php
```
$router->get('/config',function (){
echo App::getContainer()->get('config')->get('database.connections.mysql_one.driver').'<hr/>';
App::getContainer()->get('config')->set('database.connections.mysql_one.driver','mysql set');
echo App::getContainer()->get('config')->get('database.connections.mysql_one.driver');
});
```
![](https://img.kancloud.cn/d6/d8/d6d8e2a30a30887fc4263f21ab83b895_868x355.png)
![](https://img.kancloud.cn/2f/7f/2f7f1aa39e57dddf20739da5d0035134_509x232.png)
- 前言
- 基础篇
- 1. 第一步 创建框架目录结构
- 2. 引入composer自动加载
- 3. php自动加载 (解释篇)
- 4. 创建容器 注册树模式
- 5. 关于psr规范解释
- 6. 关于"容器" "契约" "依赖注入" (解释篇)
- 7. 添加函数文件helpers.php
- 8. 初始化请求(Request)
- 9. 响应 (Response)
- 10. 路由一 (路由组实现)
- 11. 路由二 (加入中间件)
- 12. 配置信息 (类似laravel)
- 13. 数据库连接 (多例模式)
- 14. 查询构造器 (query builder)
- MVC实现
- M 模型实现 (数据映射 + 原型 模式)
- C 控制器实现 + 控制器中间件
- V 视图实现 (Laravel Blade 引擎)
- V 视图切换成 ThinkPhp 模板 引擎)
- 其他轮子
- 日志
- 自定义异常 (异常托管)
- 单元测试 (phpunit)
- 替换成swoole的http服务器
- 协程上下文解决request问题
- qps测试
- 发布到packagist.org