本章节开始步入开发篇阶段,本文主要为大家介绍微擎人们的一些一些基本内容,包含他的基本框架结构,目录介绍,以及文件说明,人人商城是基于微擎上做的开发,了解微擎的基础知识是十分必要的。
框架目录
微擎目录机构
we7
├─ addons 模块安装目录(意为附加组件)
│ ├─ business 模块的名称(示例)
│ │ ├─ images 建议 css 文件也放此目录.
│ │ ├─ template 模板目录
│ │ │ ├─ mobile APP 端模板目录
│ │ │ │ └─ ... *.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 消息订阅
│ │ ├─ webapp.php PC版页面功能
│ │ ├─ wxapp.php 小程序接口功能
│ │ ├─ hook.php 嵌入点
│ │ └─ site.php 微站页面
│ └─ ... 其他扩展模块
├─ api .
│ └─ accesstoken.php 多系统共用accesstoken接口
├─ attachment 附件文件夹
│ ├─ audios 音频附件文件夹
│ └─ images 图片附件文件夹
│ ├─ global 系统公共文件夹
│ │ └─ 上传年份
│ │ └─上传月份
│ │ └─ 随机文件名
│ └─ $uniacid ... 按公众号年月组织的图片文件
├─ app 微站(Mobile)入口
│ ├─ common .
│ │ ├─ bootstrap.app.inc.php .
│ │ ├─ common.func.php .
│ │ └─ template.func.php .
│ │ └─ tpl.func.php .
│ ├─ resource 微站资源文件
│ │ ├─ css 样式文件
│ │ ├─ fonts 字体资源
│ │ └─ js .
│ ├─ source 控制器
│ ├─ themes 微站皮肤
│ │ ├─ default 系统默认
│ │ └─ ... 自定义皮肤
│ └─ index.php 微站入口
├─ data .
│ ├─ config.php 系统配置
│ └─ db.php .
├─ framework 微擎系统通用的工具类和方法
│ ├─ builtin 微擎内建模块
│ │ ├─ basic 文字回复模块
│ │ ├─ core 会话消息统计
│ │ │ └─ receiver.php .
│ │ ├─ cover 通用封面回复
│ │ ├─ default 默认回复模块
│ │ ├─ music 音乐回复模块
│ │ ├─ news 图文回复模块
│ │ ├─ userapi 自定义接口回复模块
│ │ └─ ... .
│ ├─ class 系统功能类 .
│ ├─ function 系统功能函数
│ ├─ library 其他函数库
│ ├─ model 业务功能model
│ ├─ table 数据库表model
│ ├─ bootstrap.inc.php 核心文件
│ ├─ const.inc.php 常量定义文件
│ └─ version.inc.php 版本说明
├─ payment 支付
├─ web 后台管理(Web)入口
│ ├─ common 公用文件
│ │ ├─ bootstrap.sys.inc.php .
│ │ ├─ common.func.php .
│ │ ├─ frames.inc.php .
│ │ └─ permission.func.php .
│ │ └─ template.func.php .
│ │ └─ tpl.func.php .
│ ├─ resource 资源文件
│ │ ├─ components JS组件
│ │ ├─ css 样式文件
│ │ ├─ fonts 字体资源
│ │ ├─ home 后台客户端资源文件
│ │ ├─ images 图片文件
│ │ └─ js .
│ │ ├─ app 系统js功能
│ │ ├─ lib js第三方库文件
│ │ └─ require.js .
│ ├─ source 后台管理控制器
│ ├─ themes 后台管理视图
│ │ ├─ default 内建后台管理样式
│ │ └─ ... 定制界面样式
│ └─ index.php 后台入口
├─ api.php 公众平台与微擎系统通信的接口
├─ index.php 微擎入口
└─ install.php 微擎安装程序
入口执行流程
多数入口文件都是问index.php
,微擎目前执行执行入口文件,在入口文件中,会加载framework
文件夹下,框架核心文件bootstrap.inc.php
,那我们来see(看)see(kan)这个文件都干了什么勾当!
加载其它文件
核销文件中预加载了一些框架必要核心,包含但不限于如下
- 配置文件
data/config.php
- 常量文件
framework/const.inc.php
- 类加载和方法加载文件
framework/class/loader.class.php
- 其它文件如下代码:
load()->func('global');// 全局方法
load()->func('compat');//扩展兼容方法如json_encode,openssl_encrypt等
load()->func('compat.biz');//用户扩展方法
load()->func('pdo');//数据库CURD方法
load()->classs('account');//会员账户
load()->model('cache');//平台缓存
load()->model('account');
load()->model('setting');
load()->model('module');
load()->library('agent');
load()->classs('db');
load()->func('communication');
给大家解释下这些方法加载的意思
- load()->func :加载
framework/function
下对应的*.func.php方法文件 - load()->model :加载
framework/model
下对应的*.mod.php方法文件 - load()->classs :加载
framework/classs
下对应的*.class.php类文件 - load()->library :加载
framework/library
下对应的第三方库文件
2. 定义变量/常量
比较常见的也是后续开发过程中都会用的$_GPC
中保存web开发相关,$_W
保存系统配置相关两个变
路由
约定及使用GET 参数中的 c、a、do为微擎系统的路由参数,应当避免与系统参数冲突,在程序中可以使用 $controller
、$action
、$do
来获取对应的路由三个参数
举例说明
- web客户端
正常路由:
http://w7.cc/web/index.php?c=site&a=entry&do=themeset
上例子中为web
下source/site
文件夹中entry.ctrl.php文件,themeset执行方法,
模块插件路由:
http://w7.cc/web/index.php?c=site&a=entry&do=themeset&module_name=we7_demo
则会路由至 /addons/we7_demo/site.php 文件中的 doWebThemeset() 方法。
- app端
正常路由:
http://we7.cc/app/index.php?i=1&j=2&c=entry&a=wxapp&do=list
上例子中为web
下source/entry
文件夹中wxapp.ctrl.php文件,list执行方法,
模块插件:
http://we7.cc/app/index.php?i=1&j=2&c=entry&a=wxapp&do=list&module_name=we7_demo
则会路由至 /addons/we7_demo/wxapp.php 文件中的 doPageList() 方法
插件
插件为微擎扩展的核心方式,后续介绍的人人商城也是作为微擎框架的插件做二次开发,主要目录为addons
下,后面章节我们将为大家介绍如何开发一个简单微擎插件应用
总结
本文主要为大家介绍微擎的基础框架,以及入口文件执行流程,更多详细的内容还需要大家自己仔细的阅读源代码去理解。
评论 (0)