commom.php,附:(common.php)模式配置

[TOC]

* * * * *

## 1 模式配置文件源代码(以/thinkphp/mode/common.php为例,console.php,sae.php模式同理)

~~~

return [

// 命名空间

'namespace' => [

'think' => LIB_PATH . 'think' . DS,

'behavior' => LIB_PATH . 'behavior' . DS,

'traits' => LIB_PATH . 'traits' . DS,

APP_NAMESPACE => APP_PATH,

],

// 配置文件

'config' => THINK_PATH . 'convention' . EXT,

// 别名定义

'alias' => [

'think\App' => CORE_PATH . 'App' . EXT,

'think\Build' => CORE_PATH . 'Build' . EXT,

'think\Cache' => CORE_PATH . 'Cache' . EXT,

'think\Config' => CORE_PATH . 'Config' . EXT,

'think\Controller' => CORE_PATH . 'Controller' . EXT,

'think\Cookie' => CORE_PATH . 'Cookie' . EXT,

'think\Db' => CORE_PATH . 'Db' . EXT,

'think\Debug' => CORE_PATH . 'Debug' . EXT,

'think\Error' => CORE_PATH . 'Error' . EXT,

'think\Exception' => CORE_PATH . 'Exception' . EXT,

'think\Hook' => CORE_PATH . 'Hook' . EXT,

'think\Input' => CORE_PATH . 'Input' . EXT,

'think\Lang' => CORE_PATH . 'Lang' . EXT,

'think\Log' => CORE_PATH . 'Log' . EXT,

'think\Model' => CORE_PATH . 'Model' . EXT,

'think\Response' => CORE_PATH . 'Response' . EXT,

'think\Route' => CORE_PATH . 'Route' . EXT,

'think\Session' => CORE_PATH . 'Session' . EXT,

'think\Template' => CORE_PATH . 'Template' . EXT,

'think\Url' => CORE_PATH . 'Url' . EXT,

'think\View' => CORE_PATH . 'View' . EXT,

'think\db\Driver' => CORE_PATH . 'db' . DS . 'Driver' . EXT,

'think\view\driver\Think' => CORE_PATH . 'view' . DS . 'driver' . DS . 'Think' . EXT,

'think\template\driver\File' => CORE_PATH . 'template' . DS . 'driver' . DS . 'File' . EXT,

'think\log\driver\File' => CORE_PATH . 'log' . DS . 'driver' . DS . 'File' . EXT,

'think\cache\driver\File' => CORE_PATH . 'cache' . DS . 'driver' . DS . 'File' . EXT,

],

];

~~~

## 2 分析

模式配置文件用来配置框架的运行环境。

common.php 通用运行环境,

sae.php 新浪云运行环境,

console.php 命令行运行环境

`defined('APP_MODE') or define('APP_MODE', function_exists('saeAutoLoader') ? 'sae' : 'common');`

运行模式由全局变量文件/thinkphp/base.php中的APP_MODE定义

`$mode = require MODE_PATH . APP_MODE . EXT;`

在thinkphp/start.php中加载对应模式文件,并初始化运行环境。

~~~

if (isset($mode['namespace'])) {

Loader::addNamespace($mode['namespace']);

}

~~~

namespace 为模式对应环境的根命名空间数组。

~~~

if (isset($mode['alias'])) {

Loader::addMap(is_array($mode['alias']) ? $mode['alias'] : include $mode['alias']);

}

~~~

alias 为模式对应环境的类别名数组。

~~~

if (isset($mode['config'])) {

is_array($mode['config']) ? Config::set($mode['config']) : Config::load($mode['config']);

}

~~~

config 为模式对应环境的配置数组

common模式加载thinkphp/convention.php作为默认全局配置

~~~

if (APP_HOOK && isset($mode['tags'])) {

Hook::import(is_array($mode['tags']) ? $mode['tags'] : include $mode['tags']);

}

~~~

tags为模式对应环境的监听回调数组

## 3 总结

模式配置文件通常用来配置框架运行环境信息,分为四部分。

namespace 根命名空间数组

alias 类的别名数组

config 框架的全局配置文件

tags 运行的监听回调数组

模式配置文件的使用 见 使用范例的运行模式开发

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值