2.0.配置

配置

应用入口如下

$configFile=__DIR__.'/config/main.php';
\qing\Qing::runWebApp($configFile);

重要的配置段

basePath 模块基础路径
namespace 应用命名空间
namespaces 扩展的命名空间映射

aliases 类别名
components 组件列表

environment 指定的环境,调试时指定使用环境配置
environments 环境列表,只有在主配置有效

modules 模块列表

startup 启动程序脚本文件

interceptors 拦截器列表

configs 配置信息列表

案例

<?php
/**
 * 应用配置文件
 */
$__basePath=realpath(__DIR__.DS.'..');

include __DIR__.'/main.configs.php';

//
return array(
    //模块基础路径
    'basePath'   =>$__basePath,
    //应用命名空间
    'namespace'  =>'\main',
    //扩展的命名空间映射
    'namespaces' =>
    [
        'qtemplate'=>'X:\wuati\qingmvc2018\qtemplate\src'
    ],
    //类别名
    'aliases'=>
    [
        'Config'    =>'\qing\facades\Config',
        'Event'     =>'\qing\facades\Event',
        'Json'      =>'\qing\facades\Json',
        'Log'       =>'\qing\facades\Log',
        'MV'        =>'\qing\facades\MV',
        'Request'   =>'\qing\facades\Request',
        'Db'        =>'\qing\db\Db',
        'L'         =>'\qing\lang\L',
    ],
    //设置可侦测环境|只有在主配置有效
    'environments'=>
    [
        'local' =>['hostname','tp-xiaowang']
    ],
    //模块
    'modules'   =>['main'=>['class'=>'\main\MainModule']],
    //启动程序
    'startup'=>__DIR__.'/main.startup.php',
    //拦截器
    'interceptors'=>
    [

    ],
    //组件列表
    'components'=>
    [
        //默认数据库连接
        'db@default'=>include __DIR__.'/main.db.php',
        //url别名
        'url_alias'=>
        [
            'class'=>'\qing\url\creators\UrlAlias',
            'maps' =>
            [
                'login2@index'=>'login2',
                'u@Index@index'=>'user',
                'reg@index'=>'reg',
                'home@index'=>function(&$params){
                    $url=vsprintf('home/%s/%s',[$params['id'],$params['username']]);
                    unset($params['id']);
                    unset($params['username']);
                    return $url;
                }
            ]
        ],
        //视图组件
        'view'=>
        [
            'class'=>'\qing\view\CachedView'
        ],
        //视图编译组件
        'view.compiler'=>
        [
            'creator'=>'\qtemplate\CompilerCreator',
        ],
        //容器,分类实例
        'container'=>
        [
            'cats'=>['M'=>'\main\model\%s','C'=>'\main\controller\%s']
        ]
    ],
    //用户设置
    'configs'=>$common_config
);
?>