应用配置

MixPHP 的 App 类实例化时需要传入一些配置信息,配置信息是一个数组,这些信息就是应用配置。

通常应用配置会单独存放在一个文件中,这个文件就叫应用配置文件,一个 App 可以有多个配置文件来适应不同环境。

下面是一个入口文件源码,能看到配置信息是如何导入 App 类的:

$config = require __DIR__ . '/../config/main_traditional.php';
(new mix\web\Application($config))->run();

文件详情

一个典型的应用配置文件内容如下:

<?php

// Web应用配置
return [

    // 基础路径
    'basePath'            => dirname(__DIR__) . DS,

    // 控制器命名空间
    'controllerNamespace' => 'web\index\controller',

    // 组件配置
    'components'            => [
    
    	// 组件配置信息

    ],
    
    // 对象配置
    'objects'             => [
		
        // 对象配置信息
        
    ],

];
  • 控制器命名空间需要根据实际情况而作修改
// Web应用
'controllerNamespace' => 'web\模块名称\controller',
 
// Console应用
'controllerNamespace' => 'web\模块名称\command',
  • components 字段内是组件配置信息,详情请查看 "组件" 章节。
  • objects 字段内是对象配置信息,详情请查看 "对象" 章节。

自定义配置

配置文件内的全部 key,都将变为 App 对象的属性名称,value 会成为该属性的值,该方式是 MixPHP 的核心思想,可查看 "对象" 章节了解更多。

因此,我们可以这样获取到配置信息:

echo \Mix::app()->basePath;
echo \Mix::app()->controllerNamespace;

也就是说,你如果想增加自己的配置信息,在配置文件内增加一个新的字段即可,使用上面的方法即可获取。

但是,MixPHP 并不建议你这么做,因为:

  1. 现如今的 PHP 开发,几乎所有需求都是采用面向对象的方式封装。
  2. 所以配置信息最终都会赋值为类的属性,供该类调用。
  3. 而 MixPHP 提供了 componentsobjects 两种方式可直接面向对象传递配置,所以你不需要再增加新的字段来处理了这些问题了,以上两种方式详情请阅读 "组件"、"对象" 两个章节。