目录
一、程序介绍:
- 文档:开发技术文档、参考LW、答辩PPT,部分项目另有其他文档
- 开发环境:Phpstorm丨微信开发者工具丨navicat12丨mysql5.7
- 配套工具:涉及项目开发运行的全部软件均提供
- 项目运行视频或截图:提供
- 运行电脑配置要求:内存≥8G, CPU i3及以上
- 运行教学:指导
- 项目修改教学:有
- 代码讲解:代码结构讲解
三、文档目录:

四、运行截图:
五、数据库表:
六、代码展示:
<?php
/**
* +----------------------------------------------------------------------
* | 应用公共文件
* +----------------------------------------------------------------------
* .::::.
* .::::::::. | Author: xxx
* ::::::::::: | EMAIL: [email protected]
* ..:::::::::::' | EMAIL: XXXXXXXXXX
* '::::::::::::' | WECHAT: xxx
* .:::::::::: | DATETIME: 20XX/XX/XX
* '::::::::::::::..
* ..::::::::::::.
* ``::::::::::::::::
* ::::``:::::::::' .:::.
* ::::' ':::::' .::::::::.
* .::::' :::: .:::::::'::::.
* .:::' ::::: .:::::::::' ':::::.
* .::' :::::.:::::::::' ':::::.
* .::' ::::::::::::::' ``::::.
* ...::: ::::::::::::' ``::.
* ```` ':. ':::::::::' ::::..
* '.:::::' ':'````..
* +----------------------------------------------------------------------
*/
// 定义插件目录
define('ADDON_PATH', Env::get('root_path') . 'addons' . DIRECTORY_SEPARATOR);
// 闭包自动处理插件钩子业务
Hook::add('app_init', function () {
// 获取开关
$autoload = true;
// 配置自动加载时直接返回
if ($autoload) return;
// 非正时表示后台接管插件业务
// 当debug时不缓存配置
$config = config('app_debug') ? [] : (array)cache('addons');
if (empty($config)) {
//读取插件通过文件夹的形式来读取
$hooks = get_addon_list();
foreach ($hooks as $hook) {
//是否开启该插件,只有开启的插件才加载
if($hook['status']==1)
$config['hooks'][$hook['name']] = explode(',', $hook['addons']);
}
cache('addons', $config);
}
config('addons', $config);
});
/**
* 过滤数组元素前后空格 (支持多维数组)
* @param $array 要过滤的数组
* @return array|string
*/
function trim_array_element($array){
if(!is_array($array))
return trim($array);
return array_map('trim_array_element',$array);
}
/**
* 将数据库中查出的列表以指定的 值作为数组的键名,并以另一个值作为键值
* @param $arr
* @param $key_name
* @return array
*/
function convert_arr_kv($arr,$key_name,$value){
$arr2 = array();
foreach($arr as $key => $val){
$arr2[$val[$key_name]] = $val[$value];
}
return $arr2;
}
/**
* 验证输入的邮件地址是否合法
*/
function is_email($user_email)
{
$chars = "/^([a-z0-9+_]|\\-|\\.)+@(([a-z0-9_]|\\-)+\\.)+[a-z]{2,6}\$/i";
if (strpos($user_email, '@') !== false && strpos($user_email, '.') !== false) {
if (preg_match($chars, $user_email)) {
return true;
} else {
return false;
}
} else {
return false;
}
}
/**
* 验证输入的手机号码是否合法
*/
function is_mobile_phone($mobile_phone)
{
$chars = "/^13[0-9]{1}[0-9]{8}$|15[0-9]{1}[0-9]{8}$|18[0-9]{1}[0-9]{8}$|17[0-9]{1}[0-9]{8}$/";