CRMEB 开源商城开发:ThinkPHP6.0 单一入口模式详解(多端支持)

以 CRMEB 开源版本为例,它是基于 ThinkPHP6+elementUI+Uni-app 框架开发的 PHP 开源商城系统,全开源无加密,支持微信小程序、公众号、H5、APP、PC 端适配且数据同步,便于开发者二次开发。在 CRMEB 中,ThinkPHP6.0 的单一入口模式对项目部署和访问起着关键作用。

一、入口文件定义

默认入口文件

CRMEB 商城默认的应用入口文件位于 public/index.php ,其内容首先会检查 PHP 版本,要求版本在 7.1 - 7.4 之间,若版本不符则直接终止程序并给出提示。接着会检测是否已安装 CRMEB 系统,若未安装且访问路径不符合要求(需在域名根目录下安装 ),也会给出相应提示并引导至安装页面。最后,通过require __DIR__ . '/../vendor/autoload.php';加载自动加载文件,然后执行 HTTP 应用并响应,代码如下:

<?php
namespace think;

if ('7.1.0' > phpversion()) {
    exit('您的php版本过低,不能安装本软件,兼容php版本7.1~7.4,谢谢!');
}
if (phpversion() >= '8.0.0') {
    exit('您的php版本太高,不能安装本软件,兼容php版本7.1~7.4,谢谢!');
}

define('DS', DIRECTORY_SEPARATOR);

//检测是否已安装CRMEB系统
if(file_exists("./install/") && !file_exists("./install.lock")){
    if($_SERVER['PHP_SELF'] != '/index.php'){
        header("Content-type: text/html; charset=utf-8");
        exit("请在域名根目录下安装,如:<br/> www.xxx.com/index.php 正确 <br/>  www.xxx.com/www/index.php 错误,域名后面不能圈套目录, 但项目没有根目录存放限制,可以放在任意目录,apache虚拟主机配置一下即可");
    }
    header('Location:/install/index.php');
    exit();
}

require __DIR__ . '/../vendor/autoload.php';

// 执行HTTP应用并响应
$http = (new App())->http;
$response = $http->run();
$response->send();
$http->end($response);

如果开发者没有特殊的自定义需求,无需对该入口文件做任何更改。这样设计入口文件位置,是为了让应用部署更安全,建议遵循 public 目录为唯一的 web 可访问目录,将其他文件放到非 WEB 访问目录下面,减少安全风险。

自定义入口文件

若有特殊需求,开发者可以创建自定义应用入口文件。例如,创建一个 public/admin.php 作为 admin 应用入口文件,代码如下:

// [ admin应用入口文件 ]
namespace think;

require __DIR__ . '/../vendor/autoload.php';

// 执行HTTP应用并响应
$http = (new App())->http;
//注意一定要设置 name,name()为 应用名称,不然会自动判断当前应用
$response = $http->name('admin')->run();
$response->send();
$http->end($response);

这里通过$http->name('admin')->run();指定了应用名称为admin ,这样就可以针对 admin 应用进行特定的入口设置,方便对不同功能模块进行区分管理,比如在 CRMEB 商城中,可将后台管理相关功能通过 admin.php 入口文件进行单独配置和访问控制。

二、控制台入口文件

除了应用入口文件外,CRMEB 商城系统还提供了一个位于项目根目录的控制台入口文件think(无后缀 ),其代码如下:

#!/usr/bin/env php
<?php
namespace think;

// 加载基础文件
require __DIR__ . '/vendor/autoload.php';

// 应用初始化
(new App())->console->run();

该控制台入口文件用于执行控制台指令,比如执行php think version可以查看系统版本。系统内置了一些常用的控制台指令,当安装额外扩展时,也会增加相应的控制台指令,都通过这个入口文件来执行。在 CRMEB 商城开发和维护过程中,开发者可以利用控制台指令进行诸如数据库迁移、缓存清理等操作,提高开发和运维效率。

通过 ThinkPHP6.0 的单一入口模式,结合 CRMEB 开源商城系统的特点,开发者能够更便捷、安全地进行项目部署和访问,实现多端适配和功能扩展,满足电商业务的多样化需求。

附件:https://gitee.com/ZhongBangKeJi/CRMEB

Leadshop是一款提供持续更新迭代服务的免费商城系统,旨在打造极致的用户体验! Leadshop由浙江禾成云计算有限公司研发,主要面向中小型企业,助力搭建电商平台,并提供专业的技术支持。免费提供长期更新服务,应用涉及可视化装修、促销转化、裂变分销、用户精细化管理、数据分析等多个维度,追求极致体验,全面赋能商家,为商家创造价值。 主要特性: 1、Leadshop开源系统,基于Yii2开发支持composer,优化核心,减少依赖,基于全新的架构思想和命名空间 2、基于命名空间和PSR-4规范,加入PHP7新特性 3、核心功能模块化,方便开发和维护 4、强化路由功能,采用RESTful接口标准 5、灵活创建模型控制器,易于扩展开发 6、配置文件可分离,方便管理 7、重写的自动验证和完成 8、简化扩展机制,提升开发速度 9、API支持完善,方便二次开发 10、内置WeChat微信开发框架,微信接入更加快捷,简单 11、使用ORM自动创建表结构,提升开发速度 12、支持数据库结构、数据、模板在线缓存清除,提升用户体验 13、客户端完善的交互效果和动画,提升用户端视觉体验 14、支持在线一键安装,方便快捷。 15、可视化DIY店铺装修,方便、快捷、直观,可以随心所欲装扮自己的店铺 16、高效的笛卡尔乘积运算,8000条规格秒加载 17、拟态Windows文件夹的素材管理结构,操作更熟悉随心 开源无加密 基于Apache License 2.0开源协议,前后端代码开源无加密,支持二次开发支持商用。 核心技术 前端技术栈:ES6、vue、vuex、vue-router、vue-cli、axios、element-ui、uni-app。 后端技术栈:Yii2、Jwt、Mysql、Easy-SMS。 接口标准 采用标准RESTful API ,高效的API阅读性,具有扩展性强、结构清晰的特点。 数据交互 采用JSON API 标准,用以定义客户端如何获取与修改资源,以及服务器如何响应对应请求。高效实现的同时,无需牺牲可读性、灵活性和可发现性。 认证方式 目前所有的接口使用 Oauth2 Password 方式,也就是 JWT Authorization Bearer header 进认证。支持扩语言扩展,多平台扩展。 数据表格导出 采用高性能的 js-xlsx数据导出,易于扩展,兼容性强。 体验后台 账号:18888888888 密码:123456 运行环境: Linux+Nginx+PHP7.4+MySQL(5.6|5.7) 安装 一键安装 上传你的代码,执行目录为/server/web在浏览器中输入你的域名或IP ( 例如:www.yourdomain.com/install ),安装程序会自动执行安装。期间系统会提醒你输入数据库信息以完成安装。 后台访问地址: 域名/leadshop/panel/index 公众号首页访问地址: 域名/h5 重新安装 清除数据库 删除/server/install.lock 文件 打包 建议使用cnpm,cnpm安装: npm install cnpm -g --registry=https://registry.npm.taobao.org 后台页面打包发布 后台前端源文件目录/admin 打包步骤 1、安装依赖包 npm install 2、运行调试 npm run serve 3、打包发布 npm run build 4、打包后把/admin/dist/build内所有文件复制到站点/server/web/leadshop目录下 公众号打包发布 后台前端源文件目录/applet 打包步骤 1、安装依赖包 npm install 2、运行调试 npm run serve 3、打包发布 npm run build:h5 4、复制 打包后把/applet/dist/build/h5内所有文件复制到站点/server/web/h5目录下 小程序打包发布 后台前端源文件目录/applet 打包步骤 1、安装依赖包 npm install 2、运行调试 npm run serve 3、打包发布 npm run build:mp-weixin 4、复制 打包后把/applet/dist/build/mp-weixin 打包成zip,重命名为app.zip,并放入/server/applet目录下覆盖之前的app.zip
thinkphp开源商城 含支付宝微信支付 三级分销商城: () 系统管理:菜单权限、前台菜单、角色管理、职员管理、登录日志、操作日志、图片空间、商城消息、风格设置、计划任务 () 基础设置:商城配置、导航管理、广告管理、广告位置、银行管理、支付管理、地区管理、友情链接、快递管理、消息模板 () 会员管理:会员等级、会员管理、账号管理 () 文章管理:文章管理、文章分类 () 运营管理:推荐管理、商品推荐、店铺推荐、品牌推荐、财务管理、资金管理、提现申请、结算管理、商家结算 () 订单管理:订单管理、订单管理、投诉管理、退款管理 () 店铺管理:店铺认证、开店申请、店铺管理、停用店铺 () 商品管理:商品管理、已上架商品、待审核商品、违规商品、商品分类、商品属性、品牌管理、商品规格、评价管理 () 虚拟物品自动发货:虚拟商品上架、卡密管理、自动发货 () 扩展管理:插件管理、钩子管理 (十一) 分销管理:分销管理菜单、分销商家列表、分销商品列表、佣金分成列表、推广用户列表 (十二) 数据分析:商品销售排行、店铺销售统计、销售额统计、销售订单统计、新增会员统计、会员登录统计 (十三) 营销管理:三级分销,商品团购,限时拍卖、微砍价、优惠券、满减、满送、满包邮、签到送积分、积分商城 (十四) 微信管理:公众号设置、自定义菜单、用户管理、主动回复文本信息、主动回复图文信息、微信消息模板 (十五) 支付管理:支付宝支付,微信支付、银联支付、货到付款、积分支付、余额支付 (十六) 短信接口:中国网建、阿里大于 (十七) 登录接口:QQ登录、微信登录、微博登录 (十八) 物流接口:快递100接口 (十九) 其他接口:UCenter通信接口(可与社区论坛等同步登录退出)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

CRMEB定制开发

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值