配置目录
系统默认的配置文件目录就是应用目录(APP_PATH
),也就是默认的application
下面,并分为应用配置(整个应用有效)和模块配置(仅针对该模块有效)。
├─application 应用目录
│ ├─config.php 应用配置文件
│ ├─database.php 数据库配置文件
│ ├─route.php 路由配置文件
│ ├─index index模块配置文件目录
│ │ ├─config.php index模块配置文件
│ │ └─database.php index模块数据库配置文件
如果不希望配置文件放到应用目录下面,可以在入口文件中定义独立的配置目录,添加CONF_PATH
常量定义即可,例如:
// 定义配置文件目录和应用目录同级
define('CONF_PATH', __DIR__.'/../config/');
配置目录下面的结构类似如下:
├─application 应用目录
├─config 配置目录
│ ├─config.php 应用配置文件
│ ├─database.php 数据库配置文件
│ ├─route.php 路由配置文件
│ ├─index index模块配置文件目录
│ │ ├─config.php index模块配置文件
│ │ └─database.php index模块数据库配置文件
扩展配置目录(V5.0.1
)
5.0.1
开始增加了扩展配置目录的概念,在应用配置目录或者模块配置目录下面增加extra
子目录,下面的配置文件都会自动加载,无需任何配置。并且前端和后端模块里面的php都可以调用。比如index模块里面的config,home模块里面在模板中用{$Think.config.site_name}调用不出来。
我默认的生成的配置文件位于 application下的extra目录下的settings.php文件中, tp5中位于extra目录下的配置文件是自动加载的
模板中可以用下面的方式进行读取extra配置
<title>{:config( 'settings.site_name' )}</title> |
var_dump(config('settings'));
如果调用应用或者模块下的config.php里面的配置参数,在模板中使用{$Think.config.site_name}。在控制器中使用 var_dump(config('site_name');
如果你定义了CONF_PATH
常量为config目录为例,扩展配置目录如下:
├─application 应用目录
├─config 配置目录
│ ├─config.php 应用配置文件
│ ├─database.php 数据库配置文件
│ ├─route.php 路由配置文件
│ ├─extra 应用扩展配置目录
│ ├─index index模块配置文件目录
│ │ ├─extra index模块扩展配置目录
│ │ ├─config.php index模块配置文件
│ │ └─database.php index模块数据库配置文件
扩展配置文件的文件名(不含后缀)就是配置参数名,并且会和应用配置文件中的参数进行合并。