Kirin c28d6d692a 会员升级 | 1 тиждень тому | |
---|---|---|
__MACOSX | 1 рік тому | |
app | 1 тиждень тому | |
config | 3 місяців тому | |
crmeb | 3 місяців тому | |
help | 1 рік тому | |
public | 3 місяців тому | |
route | 4 місяців тому | |
vendor | 3 місяців тому | |
view | 1 рік тому | |
.constant | 3 місяців тому | |
.example.env | 3 місяців тому | |
.gitignore | 3 місяців тому | |
.phpstorm.meta.php | 3 місяців тому | |
.travis.yml | 3 місяців тому | |
.upgrade | 3 місяців тому | |
.version | 3 місяців тому | |
Dockerfile | 3 місяців тому | |
LICENSE.txt | 3 місяців тому | |
README.md | 3 місяців тому | |
add | 3 місяців тому | |
build.example.php | 3 місяців тому | |
ceshi.md | 3 місяців тому | |
composer.json | 3 місяців тому | |
composer.lock | 3 місяців тому | |
das | 3 місяців тому | |
from_type.txt | 3 місяців тому | |
notify.txt | 3 місяців тому | |
pc.sql | 3 місяців тому | |
think | 3 місяців тому | |
tree3.md | 3 місяців тому | |
update_2_6_0.sql | 3 місяців тому |
运行环境要求PHP7.4,其他版本暂不推荐。不支持windows环境运行
ThinkPHP6.0遵循PSR-2命名规范和PSR-4自动加载规范,并且注意如下规范:
注意:请理解并尽量遵循以上命名规范,可以减少在开发过程中出现不必要的错误
所有方法,类,控制器类,都 必须 添加访问修饰符
/**
* 中文注释
* @param string $str 声明类型
* @param array $arr
* @return bool
*/
public function action(string $str, array $arr)
{
return true;
}
参数列表中,每个逗号后面 必须 要有一个空格,而逗号前面 一定不可 有空格
function foo($arg1, &$arg2, $arg3 = [])
{
// method body
}
参数 可以 分列成多行,此时包括第一个参数在内的每个参数都 尽量 单独成行。
<?php
$foo->bar(
$longArgument,
$longerArgument,
$muchLongerArgument
);
标准的 if 结构如下代码所示,请留意「括号」、「空格」以及「花括号」的位置, 注意 else 和 elseif 都与前面的结束花括号在同一行
<?php
if ($expr1) {
// if body
} elseif ($expr2) {
// elseif body
} else {
// else body;
}
赋值等号前后必须加空格符
<?php
$arr = [];
三元运算符
<?php
$arr = ['crmeb'=>true];
之前
echo isset($arr['crmeb']) ? $arr['crmeb'] : '';
之后
echo $arr['crmeb'] ?? '';
define() 定义常量数组
<?php
define('ARR',['a','b']);
命名空间优化
<?php
//PHP7之前语法
use FooLibrary\Bar\Baz\ClassA;
use FooLibrary\Bar\Baz\ClassB;
// PHP7新语法写法
use FooLibrary\Bar\Baz\{ ClassA, ClassB};
错误判断抛出异常,由一个错误类统一控制输出
<?php
throw new AuthException('错误信息',400);
错误码和错误提示语应该统一管理,方便切换多语言
数据库操作使用模型类,不能使用Db::table()
获取表单数据使用 app\Request
<?php
use app\Request;
public function index(Request $request) {
//获取提交的数据,并以二维数组形式返回
$arr = $request->getMore([
'name',
'nickname'
]);
//获取提交的数据,并以二维数组形式返回并附加默认值
$arr = $request->getMore([
['name','123'],
['nickname','0']
]);
//获取提交的数据,并以一维数组形式返回并附加默认值
[$name, $nickname] = $request->getMore([
['name','123'],
['nickname','0']
],true);
}
所有控制器类命令和表名对应,按照大驼峰命名规范
所有文件夹命名按照小写字母加下划线定义
所有属性名,变量名尽量遵守小驼峰命名规范
复杂逻辑,多状态应适当添加行内注释
模型里只能写关于搜索条件语句,查出数据得组合书写在services层进行处理,services创建命令:php make:services api@user/User
有详细的代码注释,有完整系统手册
使用最新的 ThinkPHP 6.0 + Swoole4框架开发
前端使用Vue CLI框架nodejs打包,页面加载更流畅,用户体验更好
标准接口、前后端分离,二次开发更方便
降低流量高峰,解除耦合,高可用
减少CPU及内存使用及网络堵塞,减少请求响应时长
行为扩展更方便,方便二次开发
后台应用form-builder 无需写页面快速增删改查
PHPExcel数据导出,导出表格更加美观可视;
后台使用ECharts图表统计,实现用户、产品、订单、资金等统计分析
后台多种角色、多重身份权限管理,权限可以控制到每一步操作
自动检查系统环境一键安装
本安装教程针对的是宝塔面板安装 环境为 nginx1.18 mysql5.7 php7.3
反向代理标签下,配置站点反向代理,目标URL填写为 http://127.0.0.1:20699 ,点击提交,在列表中点击配置文件,将下方代码复制替换全部。
#PROXY-START/
location ~* \.(php|jsp|cgi|asp|aspx)$
{
proxy_pass http://127.0.0.1:20699;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header REMOTE-HOST $remote_addr;
}
location /
{
if (!-e $request_filename) {
proxy_pass http://127.0.0.1:20699;
}
proxy_http_version 1.1;
proxy_read_timeout 360s;
proxy_redirect off;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header REMOTE-HOST $remote_addr;
add_header X-Cache $upstream_cache_status;
#Set Nginx Cache
add_header Cache-Control no-cache;
expires 12h;
}
#PROXY-END/
点击服务标签,重启 php 服务。
点击配置修改标签,找到 sql-mode ,将后面的值修改为 NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
点击服务标签,重启 mysql 服务。
php -v
查看命令行版本是否为配置的 PHP 版本php think swoole
php think swoole
php think swoole
域名/admin
域名/
php think swoole
php think swoole
修改数据库连接文件 配置文件路径/.env
APP_DEBUG = true
[APP]
DEFAULT_TIMEZONE = Asia/Shanghai
[DATABASE]
TYPE = mysql
HOSTNAME = 127.0.0.1 #数据库连接地址
DATABASE = test #数据库名称
USERNAME = username #数据库登录账号
PASSWORD = password #数据库登录密码
HOSTPORT = 3306 #数据库端口
CHARSET = utf8
DEBUG = true
[REDIS]
REDIS_HOSTNAME = 127.0.0.1 #redis地址
PORT = 6379 #redis端口
REDIS_PASSWORD = '' #redis密码
SELECT = 0 #redis数据库
[CACHE]
PREFIX =
TAG_PREFIX =
[LANG]
default_lang = zh-cn
修改目录权限(linux系统)777 /public /runtime
启动swoole,需要使用Supervisor进行守护进程
php think swoole
后台登录: http://域名/admin 默认账号:admin 密码:crmeb.com
开启
php think swoole
使用手册 || TP6开发手册 || Swoole开发手册
请参阅 CRMEB
本项目包含的第三方源码和二进制文件之版权信息另行标注。
版权所有Copyright © 2017-2022 by CRMEB
All rights reserved。
CRMEB® 商标和著作权所有者为西安众邦网络科技有限公司。
###开发团队:
注:排名不分前后