CopyrightZhiShiSoftCo.
,Ltd.
Allrightsreserved.
www.
thinksns.
comwww.
zhishisoft.
com二次开发指南ThinkSNSV3智士软件(北京)有限公司ZhiShiSoft(Beijing)Co,.
Ltd.
ZhiShiSoftCo.
,Ltd.
二次开发指南Page2修订记录日期修订版本描述作者2013/03/280.
5初稿韦心红2013/04/090.
6补充应用开发的修改张艳敏2013/04/110.
7修订一些错误刘晓庆2013/04/120.
8增加又拍云、及图片上传的教程刘晓庆2013/04/210.
9增加后台配置方法刘晓庆ZhiShiSoftCo.
,Ltd.
二次开发指南Page3目录1简介.
62架构设计.
62.
1设计目标.
62.
2核心架构及目录结构.
72.
2.
1概览.
72.
2.
2术语解释.
72.
2.
3微博.
82.
2.
4目录结构.
82.
3应用架构及目录结构.
103开发指南.
113.
1命名规范与编码规范.
113.
2使用函数库、类库和Widget.
123.
2.
1使用系统函数库.
123.
2.
2使用公共Model.
133.
2.
3使用Widget.
133.
2.
4使用第三方类库.
133.
3使用弹出窗、提示消息、编辑器.
133.
3.
1弹出窗.
143.
3.
2提示消息.
153.
3.
3编辑器.
15ZhiShiSoftCo.
,Ltd.
二次开发指南Page43.
4/图片的上传和展示(含又拍云配置)163.
4.
1使用上传组件上传.
163.
4.
2使用上传模型上传.
163.
5ThinkPHP开发指南.
173.
6应用开发.
173.
6.
1开发流程.
183.
6.
2开发需求和开发目标.
183.
6.
3创建数据表.
193.
6.
4创建应用目录.
203.
6.
5开始编程.
223.
6.
6增加积分消费功能.
243.
6.
7增加发通知功能.
253.
6.
8增加发送动态功能.
263.
6.
9增加微博分享功能.
263.
6.
10增加应用后台.
283.
6.
11制作安装/卸载包.
293.
6.
12调试.
323.
7插件开发.
333.
7.
1什么是插件333.
7.
2开发流程.
333.
7.
3实现插件Addons抽象类的描述对象.
333.
7.
4实现插件所希望实现的钩子.
35ZhiShiSoftCo.
,Ltd.
二次开发指南Page53.
7.
5在实现插件过程中的几个注意项.
373.
7.
6后台的开发.
383.
7.
7其他接口.
383.
8Widget开发.
393.
8.
1命名规范.
393.
8.
2开发流程.
393.
8.
3异步加载.
393.
9模板开发.
403.
9.
1教你看每个前台页面所对应的模板文件.
403.
9.
2自定义皮肤.
404附录.
404.
1全局变量.
414.
2常量.
414.
3函数库.
414.
3.
1全局函数functions.
inc.
php.
424.
4类库.
484.
4.
1公共Model.
494.
4.
2公共插件.
494.
4.
3公共Widget.
50ZhiShiSoftCo.
,Ltd.
二次开发指南Page61简介本文档旨在帮助开发者快速理解基于ThinkSNSV3的系统架构和开发方法(应用、插件、模板),为二次开发提供参考.
ThinkSNS内核使用优化的ThinkPHP框架,ThinkPHP框架的绝大多数规范和参考对ThinkSNS都有效,建议您同时参阅ThinkPHP文档.
2架构设计2.
1设计目标核心高效稳定应用独立开发部署插件平行扩展功能平行扩展ZhiShiSoftCo.
,Ltd.
二次开发指南Page72.
2核心架构及目录结构2.
2.
1概览图1ThinkSNS核心结构图如图1所示,核心与服务、公共Model、插件、Widget、第三方类库共同构成了系统的大根基,其他所有应用都其上构建.
2.
2.
2术语解释核心:源自ThinkPHP框架,为系统提供MVC分离、底层数据库支持等核心功能,并提供诸多便捷的类库和函数库供系统其他部分使用.
位于/core/目录.
公共Model:一组全局通用模型.
位于/addons/model/目录,如模型(AttachModel)、地区模型(AreaModel)等.
之前V2.
8版本的服务也已合并到此目录下.
插件:为实现某种功能而增加的程序文件.
位于/addons/plugin/目录,包括第三方平台登陆插件和勋章等.
Widget:一组可以在任意HTML页面调用的代码块.
位于/addons/widget/目录,包括评ZhiShiSoftCo.
,Ltd.
二次开发指南Page8论(Comment)、选择好友(SelectFriend)等.
第三方类库:其他开源的第三方类库.
位于/addons/library/目录,如phpmailer等.
应用:实现特定功能的独立模块,基于上述的系统结构构建.
位于/apps/目录,如日志(Blog)、相册(Photo)等.
API:应用程序编程接口(ApplicationProgrammingInterface).
位于/addons/api/目录,如微博API、用户资料API等.
2.
2.
3微博微博虽然也是以系统独立应用的身份出现(如图1所示),但它还肩负着系统核心应用的责任.
许多系统元素完全构建于微博应用之上,如微博Widget(即"分享"功能)是直接操作微博,而WAP应用则是完全使用微博API架构.
2.
2.
4目录结构ThinkSNS_runtime运行时缓存addons扩展库apiAPI库diywidgetDIY功能的模块库lang默认配置数据library第三方类库model公共Modelplugin插件ZhiShiSoftCo.
,Ltd.
二次开发指南Page9Login第三方平台登录插件theme公共模板目录widget系统Widgetapps系统应用admin管理后台public公共应用weiba微吧应用channel频道应用people找人应用config站点配置config.
inc.
phpaccess.
inc.
php节点权限控制文件config.
inc.
php站点配置文件router.
inc.
php路由配置文件sphinx.
confsphinx搜索引擎配置文件core核心OpenSociax系统核心文件core.
php核心引导文件data站点数据install系统安装文件public开发的工具文件(后续将弃用)URLRewriteRewrite配置ZhiShiSoftCo.
,Ltd.
二次开发指南Page10cleancache.
php缓存清理文件index.
php站点入口文件2.
3应用架构及目录结构应用的目录位置及结构:ThinkSNSappsapp_static公共模板、JS和图片目录Appinfo安装信息、安装\卸载执行文件、图标Common函数库common.
phpConf项目配置config.
phpLibAction操作类库Model模型类库Widget插件库Tpl模板文件入口文件ThinkSNS只有一个公共入口文件,即ThinkSNS目录下的index.
php.
URL模式URL的访问方式是index.
phpapp=APP_NAME&mod=Action&act=function举例:index.
phpapp=public&mod=Passport&act=login该请求对应的方法在/apps/public/Lib/Action/PassportAction.
class.
php文件ZhiShiSoftCo.
,Ltd.
二次开发指南Page11中实现的login方法函数库应用自身的函数库放在该应用目录下的Common/common.
php里即可,这里面的函数会随该应用一起加载,可在该应用内随意调用.
系统函数库请参阅附录的"函数库".
模板[……]
阿里云(aliyun)在这个月又推出了一个金秋上云季活动,到9月30日前,每天两场秒杀活动,包括轻量应用服务器、云服务器、云数据库、短信包、存储包、CDN流量包等等产品,其中Aliyun轻量云服务器最低60元/年起,还可以99元续费3次!活动针对新用户和没有购买过他们的产品的老用户均可参与,每人限购1件。关于阿里云不用多说了,国内首屈一指的云服务器商家,无论建站还是学习都是相当靠谱的。活动地址:h...
百纵科技:美国高防服务器,洛杉矶C3机房 独家接入zenlayer清洗 带金盾硬防,CPU全系列E52670、E52680v3 DDR4内存 三星固态盘阵列!带宽接入了cn2/bgp线路,速度快,无需备案,非常适合国内外用户群体的外贸、搭建网站等用途。官方网站:https://www.baizon.cnC3机房,双程CN2线路,默认200G高防,3+1(高防IP),不限流量,季付送带宽美国洛杉矶C...
小白云是一家国人自营的企业IDC,主营国内外VPS,致力于让每一个用户都能轻松、快速、经济地享受高端的服务,成立于2019年,拥有国内大带宽高防御的特点,专注于DDoS/CC等攻击的防护;海外线路精选纯CN2线路,以确保用户体验的首选线路,商家线上多名客服一对一解决处理用户的问题,提供7*24无人全自动化服务。商家承诺绝不超开,以用户体验为中心为用提供服务,一直坚持主打以产品质量用户体验性以及高效...
qq空间自定义皮肤为你推荐
51自学网站有哪些免费自学网深圳公交车路线深圳公交路线雅虎社区雅虎资讯在哪里提交网站联盟网盟跟b2b平台有什么区别正则表达式javajava正则表达式创维云电视功能创维新出的4K超高清健康云电视有谁用过,功能效果怎么样?创维云电视功能很喜欢创维云电视,它到底有哪些独特功能?idc前线永恒之塔内侧 删档吗 ?网页打开很慢如何解决网速正常 网页打开很慢问题宽带接入服务器网络已连接,可无法连接到服务器为什么?网络已连接,可无法连接到服务
asp网站空间 万网域名查询 免费域名跳转 128m内存 wdcp 京东商城双十一活动 91vps 美国网站服务器 cxz web应用服务器 net空间 西安主机 云服务器比较 百度云空间 域名转入 免费个人网页 后门 网站加速 七十九刀 锐速 更多