石磊朋 8f4cdb0fae debug | 2 days ago | |
---|---|---|
app | 2 days ago | |
config | 3 months ago | |
crmeb | 5 days ago | |
public | 3 days ago | |
route | 3 months ago | |
runtime | 3 months ago | |
vendor | 1 month ago | |
.constant | 3 months ago | |
.env | 3 months ago | |
.gitignore | 3 months ago | |
.htaccess | 3 months ago | |
.phpstorm.meta.php | 3 months ago | |
.travis.yml | 3 months ago | |
.version | 3 months ago | |
LICENSE.txt | 3 months ago | |
README.md | 3 months ago | |
build.example.php | 3 months ago | |
composer.json | 1 month ago | |
composer.lock | 1 month ago | |
filetree.txt | 3 months ago | |
index.html | 3 months ago | |
think | 3 months ago | |
workerman.bat | 3 months ago |
运行环境要求PHP7.1-7.4。
上传你的代码,站点入口目录设置/public 在浏览器中输入你的域名或IP(例如:www.yourdomain.com), 安装程序会自动执行安装。期间系统会提醒你输入数据库信息以完成安装,安装完成后建议删除install目录。
后台访问地址: 1.域名/admin 公众号和H5首页访问地址: 1.域名/
安装过程中请牢记您的账号密码!
1.创建数据库,倒入数据库文件 数据库文件目录/public/install/crmeb.sql 2.修改数据库连接文件 配置文件路径/.env
APP_DEBUG = true
[APP]
DEFAULT_TIMEZONE = Asia/Shanghai
[DATABASE]
TYPE = mysql
HOSTNAME = 127.0.0.1 #数据库连接地址
HOSTPORT = 3306 #数据库端口
DATABASE = test #数据库名称
USERNAME = username #数据库登录账号
PASSWORD = password #数据库登录密码
PREFIX = eb_
CHARSET = utf8mb4
DEBUG = true
[LANG]
default_lang = zh-cn
[CACHE]
DRIVER = file #缓存类型,redis/file
CACHE_PREFIX = cache_xxxx: #缓存前缀
CACHE_TAG_PREFIX = cache_tag_xxxx: #缓存类型前缀
[REDIS]
REDIS_HOSTNAME = 127.0.0.1 #redis链接地址
PORT = 6379 #端口号
REDIS_PASSWORD = 123456 #密码
SELECT = 0 #数据库
[QUEUE]
QUEUE_NAME = xxxx #队列前缀
3.修改目录权限(linux系统)777 /crmeb /template
4.后台登录: http://域名/admin 默认账号:admin 密码:crmeb.com
php think queue:listen --queue
在自动收货,库存预警等功能使用到
php think timer [ status ] [ --d ]
参数
在h5聊天,后台管理员消息通知等功能使用到
php think workerman [ status ] [ --d ]
windows环境下需要分三步执行
# 内部通讯服务
php think workerman start --d
参数
ThinkPHP6.0遵循PSR-2命名规范和PSR-4自动加载规范,并且注意如下规范:
注意:请理解并尽量遵循以上命名规范,可以减少在开发过程中出现不必要的错误
所有方法,类,控制器类,都 必须 添加访问修饰符 ~~~
/**
参数列表中,每个逗号后面 必须 要有一个空格,而逗号前面 一定不可 有空格
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 = [];
$arr = ['crmeb'=>true]; 之前 echo isset($arr['crmeb']) ? $arr['crmeb'] : ''; 之后 echo $arr['crmeb'] ?? '';
2. define() 定义常量数组
<?php
define('ARR',['a','b']);
3. 命名空间优化
<?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
请参阅 CRMEB。
本项目包含的第三方源码和二进制文件之版权信息另行标注。
版权所有Copyright © 2017-2023 by CRMEB (http://www.crmeb.com)
All rights reserved。
CRMEB® 商标和著作权所有者为西安众邦网络科技有限公司。