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接口
- 接口開發
- 插件開發
- 事件開發
- 常用事件
- 插件目錄與開發
- 常用插件
- 支付插件
- 拼團插件
- 新人禮