NiushopV5采用**单一入口模式**进行项目部署和访问,一个应用都有一个统一(但不一定是唯一)的入口。
## 入口文件定义
默认的应用入口文件位于`index.php`,在没有安装情况下执行`install.php`,默认内容如下:
~~~
// [ 应用入口文件 ]
namespace think;
if (version_compare(PHP_VERSION, '7.4.0', '<'))
die('require PHP > 7.4.0 !');
// 检测PHP环境 允许前端跨域请求
header("Access-Control-Allow-Origin:*");
// 响应类型
header('Access-Control-Allow-Methods:GET, POST, PUT, DELETE');
// 响应头设置
header('Access-Control-Allow-Headers:x-requested-with, content-type');
if (!file_exists('./install.lock')) {
header('location: ./install.php');
exit();
}
$query_string = substr($_SERVER["QUERY_STRING"], -3);
$array = [ 'jpg', 'png', 'css', '.js', 'txt', 'doc', 'ocx', 'peg' ];
if (in_array($query_string, $array)) {
exit();
}
require __DIR__ . '/vendor/autoload.php';
// 执行HTTP应用并响应
$http = (new App())->http;
$response = $http->run();
$response->send();
$http->end($response);
~~~
## 控制台入口文件
除了应用入口文件外,系统还提供了一个控制台入口文件,位于项目根目录的`think`(注意该文件没有任何的后缀)。
该入口文件代码如下:
~~~
#!/usr/bin/env php
<?php
namespace think;
// 加载基础文件
require __DIR__ . '/vendor/autoload.php';
// 应用初始化
(new App())->console->run();
~~~
控制台入口文件用于执行控制台指令,例如:
~~~
php think version
~~~
> 系统内置了一些常用的控制台指令,如果你安装了额外的扩展,也会增加相应的控制台指令,都是通过该入口文件执行的。
- 序言
- 安装教程
- 运行环境
- 安装手册
- 基础
- 前期准备
- 伪静态配置
- 后台目录结构
- uniapp(手机端)目录结构
- 开发命名规范
- 控制器命名规范
- model层命名规范
- 前端(管理页面)命名规范
- 提示面板
- 表单
- uniapp(手机端)命名规范
- api接口命名规范
- 架构
- 入口文件
- config设置
- app应用目录
- component(自定义模板组件)
- model层(数据业务层)
- 数据库操作
- job(消息队列)
- event(事件)
- request(请求对象)
- common(公共函数)
- log(日志处理)
- lang(语言包)
- addon插件
- 数据字典
- 系统基础表
- 配送相关表
- 商品相关表
- 网站设置相关
- 会员相关表
- 订单相关表
- 营销(组合套餐)
- 营销(砍价)
- 营销(优惠券)
- 营销(满减)
- 营销(拼团)
- 营销(秒杀)
- 店铺相关表
- 微信相关表
- 门店相关表
- 结算相关表
- 应用(分销)
- 功能模块
- 商品模块
- 会员模块
- 订单模块
- 数据统计
- 消息队列
- 支付模块
- 短信模块
- 客服
- api接口
- 接口开发
- 插件开发
- 事件开发
- 常用事件
- 插件目录与开发
- 常用插件
- 支付插件
- 拼团插件
- 新人礼