微擎二次開發教程之系統目錄結構
入口腳本
入口腳本是應用啟動流程中的第一環,入口文件根據“系統配置文件”初始化了系統的常量、全局變量及全局對象,並將終端用戶的請求通過入口腳本將請求轉發到各自的功能模塊中。
微擎系統中分為三個入口,分別是“Web端入口”、“App端入口”、“微信Api入口”
系統配置文件
系統配置文件存放著微擎系統重要的啟動數據,文件是“/data/config.php”。此文件禁止普通用戶修改。
Web端入口
Web端入口主要負責微擎系統的後臺管理功能,入口文件是 “/web/index.php”。訪問此入口有嚴格的權限判斷,需要需要用戶進行登錄。此入口主要完成以下工作:
登錄用戶的身份驗證
初始化登錄用戶的身份信息,分派管理員權限或是操作員權限
權限菜單劃分及權限判斷
加載系統配置
路由用戶的請求
App端入口
App端入口主要負責微擎系統的前端“微站”、“個人中心”及其它普通用戶訪問的功能。入口文件是 “/app/index.php”。訪問“微站”無需身份驗證,訪問“個人中心”則要求用戶進行登錄。此入口主要完成以下工作:
初始化當前公眾號的數據
初始化微站站點信息、風格、模板、導航等數據
初始化粉絲&會員的身份信息(如果有權限獲取)
加載系統配置
路由用戶的請求
微信Api入口
微信Api入口主要負責處理微信公眾平臺請求微擎系統的關鍵字、圖片、語音等數據,入口文件是 “api.php”。此入口只用於公眾平臺訪問。此入口主要完成以下工作:
初始化當前公眾號的數據
解析公眾平臺推送過來的數據結構,轉化為微擎消息結構
根據消息結構中的關鍵字或是事件匹配到相應的模塊
調用模塊的processor類返回數據給微信公共平臺
目錄結構(春哥大致總結如下)
pro
├─ addons ………………………………………… 【模塊安裝目錄】 (意為附加組件)
│ ├─ business …………………………………… 模塊的名稱 (示例)
│ │ ├─ images 建議 css 文件也放此目錄.
│ │ ├─ template 模板目錄
│ │ │ │ └─ ... .html APP 端模板文件
│ │ │ └─ ... .html Web 端模板文件
│ │ ├─ inc 引用的 php 文件目錄
│ │ │ ├─ mobile Mobile端目錄
│ │ │ │ ├─ xxx.inc.php 微站入口
│ │ │ │ └─ ... .
│ │ │ └─ web Web端模板目錄
│ │ │ ├─ xxx.inc.php 微站管理入口
│ │ │ └─ ... .
│ │ ├─ icon.jpg 模塊圖標
│ │ ├─ preview.jpg 模塊預覽
│ │ ├─ manifest.xml 安裝清單
│ │ ├─ module.php 模塊設置
│ │ ├─ processor.php 消息處理
│ │ ├─ receiver.php 消息訂閱
│ │ └─ site.php 微站頁面
│ └─ ... …………………………………………… 其他擴展模塊
├─ api ………………………………………………… .
│ └─ uc.php .
├─ attachment ……………………………………… 附件文件夾
│ ├─ audios ……………………………………… 音頻附件文件夾
│ └─ images ……………………………………… 圖片附件文件夾
│ ├─ global ………………………………… 系統公共文件夾
│ │ └─ 上傳年份
│ │ └─上傳月份
│ │ └─ 隨機文件名
│ └─ $uniacid ... ……………………………按公眾號年月組織的圖片文件
├─ app ……………………………………………【微站(Mobile)入口】
│ ├─ common .
│ │ ├─ bootstrap.app.inc.php .
│ │ ├─ common.func.php .
│ │ └─ template.func.php .
│ ├─ resource .
│ │ ├─ css .
│ │ ├─ fonts .
│ │ └─ js .
│ ├─ source 控制器
│ ├─ themes 微站皮膚
│ │ ├─ default 系統默認
│ │ └─ ... 自定義皮膚
│ └─ index.php 微站入口
├─ data ……………………………………………… .
│ ├─ config.php.default .
│ ├─ config.php 系統配置
│ └─ db.php .
├─ framework ………………………………………【微擎系統通用的工具類和方法】
│ ├─ builtin ……………………………………【微擎內建模塊】
│ │ ├─ basic 文字回復模塊
│ │ ├─ core 會話消息統計
│ │ │ └─ receiver.php .
│ │ ├─ cover 通用封面回復
│ │ ├─ default 默認回復模塊
│ │ ├─ music 音樂回復模塊
│ │ ├─ news 圖文回復模塊
│ │ ├─ userapi 自定義接口回復模塊
│ │ └─ ... .
│ ├─ class ………………………………………… 系統功能類 .
│ ├─ function …………………………………… 系統功能函數
│ ├─ library ……………………………………… 其他函數庫
│ ├─ model ………………………………………… 業務功能model
│ ├─ bootstrap.inc.php .
│ ├─ const.inc.php .
│ └─ version.inc.php
├─ payment …………………………………………… 支付
├─ web ……………………………………………… 【後臺管理(Web)入口】
│ ├─ common ……………………………………… 公用文件
│ │ ├─ bootstrap.sys.inc.php .
│ │ ├─ common.func.php .
│ │ ├─ frames.inc.php .
│ │ └─ template.func.php .
│ ├─ resource …………………………………… 資源文件
│ │ ├─ components JS組件
│ │ ├─ css 樣式文件
│ │ ├─ fonts 字體資源
│ │ ├─ images 圖片文件
│ │ └─ js
│ │ ├─ app ………………………………… 系統js功能
│ │ ├─ lib ………………………………… js第三方庫文件
│ │ └─ require.js ……………………… .
│ ├─ source ……………………………………… 後臺管理控制器
│ ├─ themes ……………………………………… 後臺管理視圖
│ │ ├─ default ………………………………… 內建後臺管理樣式
│ │ └─ ... ……………………………………… 定制界面樣式
│ └─ index.php 後臺入口
├─ api.php ………………………………………… 【公眾平臺與微擎系統通信的接口】
├─ index.php ………………………………………… 微擎入口
└─ install.php ……………………………………… 微擎安裝程序
本文出自春哥技術博客官網,轉載請註明出處,謝謝!
微擎二次開發教程之系統目錄結構