# 基础配置
初次接触一个新项目时,会给人一种一筹莫展的感觉,尤其是一个全新的未知的项目,首页我们拿到一个新项目(或新框架),首页我们先看下项目框架的具体架构和设计思路,在上一章节《目录结构》中我们做了详细的介绍,这里我们不做扩展,本章节我们重点介绍下框架的基础配置;
# 项目依赖
框架使用Composer
作为依赖包管理工具,在开始使用项目前请务必安装好第三方依赖库,以便项目在实际运行过程中出现缺少依赖或者莫名的报错问题(切记
),框架默认集成的依赖如下:
"php": ">=5.6.0",
"topthink/framework": "5.1.*"
2
特别说明
项目实际开发过程中如需引入其他依赖,请自行通过 Composer
安装;
# 环境变量
系统环境变量配置文件.env
,系统运行所需的参数如有需要都可以作为环境变量参数存在,内容如下:
//调试模式
app_debug = true
//应用Trace
app_trace = false
// 数据库配置
[database]
type = mysql
hostname = 127.0.0.1
database = rxthink-vue-pro5.1
username = root
password =
hostport = 3306
charset = utf8mb4
prefix = evt_
debug = true
// 缓存配置
[cache]
type = redis
host = 127.0.0.1
port = 6379
password =
prefix = evt51_
// 消息队列
[rabbitmq]
host = /
ip = 127.0.0.1
port = 5672
user = guest
password = guest
// 网址配置
[domain]
image_url = http://images.evtp5.1.pro
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
参数说明:
app_debug
表示是否开启调试模式,true是、false否;database
为数据库连接相关配置,type
:数据库类型、hostname
:主机地址、database
:数据库名、username
:数据库账号、password
:数据库密码、hostport
:数据库端口号、charset
:数据库字符编码、prefix
:数据表前缀、debug
:是否开启调试模式;cache
此处为缓存相关配置;type
:缓存模式,分为file文件缓存和redis缓存,根据需要自行设置;domain
此处为域名相关配置,image_url
参数为图片域名,需要给当前图片域名配置虚拟主机,Apache和Nginx都可以,根据实际情况自行配置;
# 缓存配置
为了系统的性能提升和运行效率,框架底层已经友好的封装了继承了缓存功能,只需要开启即可,根据系统设计要求,框架目前支持两种缓存模式:文件缓存
和Redis缓存
,缓存配置文件内容如下:
<?php
// +----------------------------------------------------------------------
// | 缓存设置
// +----------------------------------------------------------------------
return [
// 默认缓存驱动
'default' => env('cache.driver', 'file'),
// 缓存连接方式配置
'stores' => [
'file' => [
// 驱动方式
'type' => 'File',
// 缓存保存目录
'path' => '',
// 缓存前缀
'prefix' => '',
// 缓存有效期 0表示永久缓存
'expire' => 0,
// 缓存标签前缀
'tag_prefix' => 'tag:',
// 序列化机制 例如 ['serialize', 'unserialize']
'serialize' => [],
],
// Redis缓存配置
'redis' => [
// 驱动方式
'type' => 'redis',
'host' => env('cache.host', '127.0.0.1'),
'port' => env('cache.port', 6379),
'password' => env('cache.password', ''),
'select' => intval(env('cache.select', 0)),
'timeout' => env('cache.timeout', 0),
// 全局缓存有效期(0为永久有效)
'expire' => env('cache.expire', 0),
'persistent' => env('cache.persistent', ''),
// 缓存前缀
'prefix' => env('cache.prefix', 'PRO_'),
'tag_prefix' => env('cache.tag_prefix', 'tag:'),
'serialize' => [],
],
// 更多的缓存连接
],
];
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
如以上内容所示,缓存驱动的模式从环境变量
中获取env('cache.driver', 'redis')
默认系统使用的是redis缓存,所以再使用之前,需要开启Redis
服务的支持,根据缓存模式的不同,各自的参数及配置值也是有所差异的,有关配置参数有不明白请查询相关资料;
# 常量配置
同时在模块内部我们需要对一些常规的常量进行配置,ThinkPHP5.1已经为我们做了架构层面的解析,我们只需要在模块内建立config
文件夹,以admin
模块为例,我们在config
局部配置目录里面新建文件admin.php
,在此文件中我们写入常规的配置参数,使用系统本身的获取配置的方式即可获取,如config('admin.gender_list')
,系统admin.php详细内容如下:
<?php
// +----------------------------------------------------------------------
// | RXThinkCMF框架 [ RXThinkCMF ]
// +----------------------------------------------------------------------
// | 版权所有 2017~2020 南京RXThinkCMF研发中心
// +----------------------------------------------------------------------
// | 官方网站: http://www.rxthink.cn
// +----------------------------------------------------------------------
// | Author: 牧羊人 <1051386190@qq.com>
// +----------------------------------------------------------------------
/**
* 后台配置文件
*/
return [
/**
* 性别
*/
'gender_list' => [
1 => '男',
2 => '女',
3 => '未知',
],
];
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
系统加载完成后,当前配置文件会默认加载到系统中,此时我们可以使用框架自带的获取配置参数的方式获取参数值,如:config('admin.gender_list')
等等,以此类推,需要定义常量的参数都可以在此文件中进行配置;
# 中间件配置
在项目开发中经常会使用到中间件,我们可以自定义中间件并在配置文件 config\middleware.php
中进行配置,如下所示:
<?php
// +----------------------------------------------------------------------
// | ThinkPHP [ WE CAN DO IT JUST THINK ]
// +----------------------------------------------------------------------
// | Copyright (c) 2006~2018 http://thinkphp.cn All rights reserved.
// +----------------------------------------------------------------------
// | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )
// +----------------------------------------------------------------------
// | Author: liu21st <liu21st@gmail.com>
// +----------------------------------------------------------------------
// +----------------------------------------------------------------------
// | 中间件配置
// +----------------------------------------------------------------------
return [
// 默认中间件命名空间
'default_namespace' => 'app\\http\\middleware\\',
];
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
系统中我们自定义了登录验证中间件并在此做了注册配置,可以借助命令 php think make:middleware 中间件名
自定生成文件并到指定目录 app\middleware\
下,使用也非常简单,有两种使用方式如下所示:
// 中间件
protected $middleware = [
'checkLogin'
];
2
3
4