## 应用配置 MixPHP 的 App 类实例化时需要传入一些配置信息,配置信息是一个数组,这些信息就是应用配置。 通常应用配置会单独存放在一个文件中,这个文件就叫应用配置文件,一个 App 可以有多个配置文件来适应不同环境。 下面是一个入口文件源码,能看到配置信息是如何导入 App 类的: ~~~php $config = require __DIR__ . '/../config/main_traditional.php'; (new mix\web\Application($config))->run(); ~~~ ## 文件详情 一个典型的应用配置文件内容如下: ~~~php <?php // Web应用配置 return [ // 基础路径 'basePath' => dirname(__DIR__) . DIRECTORY_SEPARATOR, // 控制器命名空间 'controllerNamespace' => 'apps\index\controller', // 组件配置 'components' => [ // 组件配置信息 ], // 对象配置 'objects' => [ // 对象配置信息 ], ]; ~~~ - 控制器命名空间需要根据实际情况而作修改 ~~~ // Web应用 'controllerNamespace' => 'apps\模块名称\controller', // Console应用 'controllerNamespace' => 'apps\模块名称\command', ~~~ - `components` 字段内是组件配置信息,详情请查看 "组件" 章节。 - `objects` 字段内是对象配置信息,详情请查看 "对象" 章节。 ## 自定义配置 配置文件内的全部 `key`,都将变为 App 对象的属性名称,`value` 会成为该属性的值,该方式是 MixPHP 的核心思想,可查看 "对象" 章节了解更多。 因此,我们可以这样获取到配置信息: ~~~ echo \Mix::app()->basePath; ~~~ 也就是说,你如果想增加自己的配置信息,在配置文件内增加一个新的字段即可,使用上面的方法即可获取。 **但是,MixPHP 并不建议你这么做,因为:** 1. 现如今的 PHP 开发,几乎所有需求都是采用面向对象的方式封装。 2. 所以配置信息最终都会赋值为类的属性,供该类调用。 3. 而 MixPHP 提供了 `components`、`objects` 两种方式可直接面向对象传递配置,所以你不需要再增加新的字段来处理了这些问题了,以上两种方式详情请阅读 "组件"、"对象" 两个章节。