谈谈thinksns二次开发,最近的几个case都是和社交网络有关,而国内应用比较多的开源sns系统就是thinksns了,thinksns是基于开源框架thinkphp核心的,整个系统的架构做的很好,每个模块都是做为独立的应用。不过毕竟是发展时间不长,所以有的地方也是有待优化改进。
要对一个开源系统进行二次开发首先要了解系统,那么什么是thinksns,thinksns二次开发需要从哪个地方下手,本文将开始对期进行讲解。
1、什么是thinksns
ThinkSNS(简称TS),是智士软件开源的开源微博、社交网络平台。采用PHP+MySQL技术平台,微博+应用的产品模式,通过应用、插件、风格包等丰富的机制来扩展功能,同时支持多种常见浏览器和移动客户端。拥有iphone、android客户端以及适合手机浏览的wap版界面,是建立社交网站、微博平台、移动互联网创业的首选二次开发平台。
2、thinksns方便二次开发吗?
ThinkSNS拥有完善的插件机制及相关文档,方便二次开发者以最小的成本自定义开发出满足个性需求的网站。”独立皮肤,方便定制个性风格,让网站按您的业务需求展示。
支持多社交平台帐号登录支持
* 可同步至第三方社交平台及站内站外双向分享
* 可整合UC/BBS
3、thinksns二次开发文档有哪些?
thinksns的开发文档相对来说是比较齐全的,由于核心是基于thinkphp框架,所以这边整理了一下对thinksns二次开发可能需要的文档手册:
4、thinksns的系统目录结构
ThinkSNS ├─ _runtime ------------- 运行时缓存 ├─ addons ------------- 扩展库 │ ├─ libs ------------- 第三方类库 │ ├─ models ------------- 公共 Model │ ├─ plugins ------------- 插件 │ │ ├─ login ------------- 第三方平台登录插件© ZhiShiSoft Co., Ltd. 二次开发指南 Page 9 │ │ ├─ Medal ------------- 勋章 │ │ └─ Tags ------------- 标签 │ ├─ services ------------- 系统服务 │ └─ widgets ------------- 系统 Widget ├─ api ------------- API 库 ├─ apps ------------- 系统应用 │ ├─ admin ------------- 管理后台 │ ├─ home ------------- Home 应用 │ ├─ myop ------------- 漫游应用 │ ├─ wap ------------- 手机 WAP 端 │ └─ weibo ------------- 微博应用 ├─ core ------------- 核心 │ ├─ sociax ------------- 系统核心文件 │ ├─ ThinkPHP ------------- ThinkPHP 核心 │ └─ sociax.php ------------- 核心引导文件 ├─ data ------------- 站点数据 ├─ install ------------- 系统安装文件 ├─ public │ ├─ admin ------------- 管理后台的样式 │ ├─ js ------------- 系统 JS 库 │ └─ themes ------------- 系统模板 ├─ access.php ------------- 节点权限控制文件© ZhiShiSoft Co., Ltd. 二次开发指南 Page 10 ├─ cleancache.php ------------- 缓存清理文件 ├─ config.inc.php ------------- 站点配置文件 ├─ index.php ------------- 站点入口文件 ├─ shorturl.php ------------- 短地址文件 └─ thumb.php ------------- 自动缩略图生成文件
5、thinksns应用架构及目录结构
ThinkSNS ├─ apps ├─ app ├─ Appinfo ------------- 安装信息、安装\卸载执行文件、图标 ├─ Common ------------- 函数库 common.php ├─ Conf ------------- 项目配置 config.php ├─ Language ------------- 通知、动态的语言包 ├─ Lib │ ├─ Action ------------- 操作类库 │ ├─ Model ------------- 模型类库 │ └─ Widget ------------- 插件库 └─ Tpl ------------- 模板、css、js 文件
入口文件
ThinkSNS 只有一个公共入口文件,即 ThinkSNS 目录下的 index.php.
URL 模式
URL 的访问方式是 index.php?app=APP_NAME&mod=Action&act=function© ZhiShiSoft Co., Ltd. 二次开发指南 Page 11
函数库
应用自身的函数库放在该应用目录下的 Common/common.php 里即可,这里面的函数会随该
应用一起加载,可在该应用内随意调用。系统函数库请参阅附录的“函数库”。
<strong> 模板</strong> <include file="__THEME__/header" /> <!-- 内容 begin --> <div class="content no_bg"> <div class="main no_l"> <div class="mainbox"> <!-- 画布 begin --> <div class="mainbox_C"> [……] </div> <!-- 画布 end --> </div> </div> </div> <!-- 内容 end --> <include file="__THEME__/footer" />
应用的样式文件统一存放在的 Tpl 下的 Public/目录,通过../Public/xxx.css 引用,应用的
JS 文件统一放到应用项目下的 Tpl/下的 Public/js/目录,通过../Public/js/xxx.js 引用。
thinksns开发指南
命名规范与编码规范
参考 ThinkPHP 的命名与编码规范:http://thinkphp.cn/doc.html
使用系统函数库
系统函数位于/core/sociax/functions.php 和/core/sociax/extend.php 文件,全局有效函数,可以直接调用。
如获取用户昵称的方法:$uname = getUserName($uid);
更多的thinksns二次开发教程,我有时间会陆续更新…
转载请注明:Yovae Studio » thinksns二次开发