## 开发导读

本项目为福信富通定制的一套开发脚手架，底层基于lumen开发框架，在此之上定义了统一的代码规范、输出标准、错误处理、分层结构、代码生成器、用户权限系统、日志系统、文件系统。

### 特点

- 模块开发 - 以功能模块为单位进行开发，模块间低耦合；
- 分层清晰 - 以 `Model`-`Repository`-`Service`-`Controller`分层进行开发， 不写重复的逻辑代码；
- 代码生成 - 内置代码生成器，生成标准模块结构，使项目结构更加清晰，开发更高效；
- 规范统一 - 最大程度统一了开发团队成员代码书写风格和思路，免了过多的选择造成的『决策时间』浪费；
- 底层处理 - 将复杂的代码编写隐藏在框架层，让开发人员更专注于业务功能的开发；

### 文档

请在开发前仔细阅读以下几个文档：

  - [项目结构](documents/instructions.md)
  - [代码规范](documents/styleguide.md)
  - [命令行](documents/console.md)

### 安装

安装之前，你要先做到以下几点必须：

- PHP 版本必须大于 7.1
- 你已下载并安装过 Composer
- 拥有一个 MySQL 数据库

1、添加composer仓库

```
composer config -g secure-http false // 因为仓库不是https需要添加这一段
composer config -g repo.dhy composer https://composer.fxft.online
```

2、创建工程

```
composer create-project dipper/dipper new
```

3、复制环境变量
```
cp .env.example .env
```

4、根据不同项目修改环境变量

`PM_PID`/`PM_MID` 为项目管理系统中生成的编号

`APP_KEY` 填入项目管理系统中生成的秘钥

5、生成数据表以及默认填充数据：
```
php artisan migrate --seed
```

6、如果使用本地存储请运行：
```
php dipper storage:link
```

7、启动服务
```
php dipper serve
```

### 关于OPCache
推荐使用一下配置来提升程序运行效率：

```
zend_extension = opcache.so
opcache.enable=1
//共享内存大小，以兆字节为单位。
opcache.memory_consumption=1024 
//哈希表中可存储的脚本文件数量上限。
opcache.max_accelerated_files=1000000 
//检查脚本时间戳是否有更新的周期，以秒为单位。
opcache.revalidate_freq=86400
//如果禁用，脚本文件中的注释内容将不会被包含到操作码缓存文件
opcache.save_comments=false
//如果禁用，则即使文件中包含注释，也不会加载这些注释内容
opcache.load_comments=false
```

可以使用public目录下的 `reset.php` 文件来清理OPCache的缓存，若发现修改未生效请尝试清理。

