文档章节

ThinkSNS入门基础

灰常人士
 灰常人士
发布于 2016/05/23 17:31
字数 1346
阅读 45
收藏 1

通过一些网络检索发现,像知乎等相关网站里关于ThinkSNS的专业技术信息相对较少,许多程序员们想检索一些关于ThinkSNS技术文档却无从获得。因此我便写了这篇关于ThinkSNS技术方面的文章同诸多喜欢ThinkSNS的创业者们分享,同时也为开发者提供自己在技术方面的见解。

 

 

 

一、我们常说的TS是什么?

首先,我们来熟悉下什么是TS,TS就是“ThinkSNS”的缩写,喜爱TS程序的人,我们称之为TSer。TS是一款开源程序,代码托管平台是GitHub,所有的细节修改,均为透明性更新。

 

使用者可以通过官网和官方演示社区(Demo站)以及GitHub仓库获得TS最新的开发动态~当然,如果你有兴趣也可以Pull requesTS(简称PR)代码给TS开发人员,开发人员得到代码之后如果符合开源需求,就会合并到TS版本的当中,如果普通用户遇到问题,可以在demo站或者Github中提交Issues,均会得到开发人员的统一回复。

 

TS对PHP版本要求压得比较低,基本行业都跨入了php5.5 or php5.6阶段了~但是考虑到国内大部分小众虚拟主机以及很多对相关专业知识不了解的人,所以,TS把php版本压低到了php5.3.12版本~当然,有人认为为什么小版本是12,这个版本是php5.3的第一个稳定版~也就是这个小版本之前的版本都不是稳定版,所以不推荐安装使用。

 

二、Laravel框架Eloquent ORM 与TP框架

 

TS在2016年的开发过程中做了比较大的底层架构变动。众所周知,TS的底层是基于ThinkPHP框架进行二次修改的,用户不能就ThinkPHP直接对TS进行升级其中一个主要原因就是TP框架并非完全遵循的MIT开源协议。当然,对开发者来说TP框架技术架构本身也存在不够先进和过于抽象的问题。所以综合考虑,TS在数据交换时使用了Laravel框架的Eloquent ORM 。

 

Eloquent ORM 的优势是什么?这款ORM对数据的处理比较类似于Node.js的数据处理即一切皆为对象,而且ORM对数据关系的处理效率是不输于doctrine的,这也是TS这么选择的原因。当然,考虑更多的是为以后更先进的架构做准备。TS将慢慢采用拓展方式进行开发,并对整个TS程序做架构数据交换等。

新的ORM的引入让TS考虑php7平台的运行,但php7已经完全删除了MySQL的 连接方式,只有PDO和MySQLi。那么,如果想要在php7环境下运行,必定对DB类做重新修改,但是考虑到兼容性的问题,所以目前依旧在旧的应用上,还是由model生成SQL,然后把SQL交给PDO来执行。而新开发的应用和功能均使用全新的ORM做的数据开发。

 

 

 

 

三、TS技术优势与拓展

除了引入新的ORM,TS还有很多技术优势,比如:有更容易被理解和集成的基类。这些基类是在第三方库的基础上进行二次封装,使TS的模块开发中设置的属性更加标准,也使开发入门更简单。因为,如果继承等都是由开发者去集成第三方的类,那么按照国情,这几乎是不可能的。而在此基础上开发者只需要看下基类,就知道集成后自己需要做什么,无需去学习第三方类。

TS新的拓展(目前是应用)中,原来的静态资源直接引用应用下的资源,在新的架构中,TS的应用都会被统一移动到一个公开缓存目录中,方便外部调用。如此设计是为了使得TS更加安全。这样用户就可以在不暴露代码的前提下得到应用中嵌套的静态资源,站长或者开发人员可以更安全的把非公开代码保留在暴露目录的上层隐藏起来。

那TS具体有哪些功能特色呢?这个问题基本上是仁者见仁智者见智了。因为TS集大成于一身,除了包含社交核心功能外,还有微吧、频道、资讯,活动、商城等,同时还有许多不同行业属性的TS合作产品,如图:

 

 

四、聊天和风向才是社交的核心

 

TS具有独立开发的原生即时聊天系统。我们知道,聊天和风向才是社交的核心。在PC中,TS使用JS轮询来实现消息的接收等操作;移动端中,TS使用了先进的技术方式—Socket技术,为了保证用户记录的不丢失,避免了P2P点对点传输,程序由一个客户端推送给服务器,服务器在把消息转推给另一个客户端,并在数据库中几率,达到了多端同时到达的目的。

© 著作权归作者所有

灰常人士
粉丝 0
博文 16
码字总数 16533
作品 0
成都
私信 提问
ThinkSNS Plus 1.0.0-alpha.6 发布,基于 Laravel

ThinkSNS+ 简介 ThinkSNS+ 是基于 Laravel 开发的一个用户生态基础框架系统,支持动态拓展应用的接入和UI规范设计。 新增功能: 问答拓展 签到拓展 核心更新: 统一的评论设计 增加用户认证(...

medz
2017/09/06
929
21
社区源码:如何搭建一个企业社区

目前,仅依靠传统的企业管理软件无法实现企业内外部的及时有效沟通,但如果以个人社交软件进行工作交流又存在一定安全隐患。近来,有越来越多的客户咨询如何搭建一个企业社区。ThinkSNS社交系...

ThinkSNS账号
2018/07/18
0
0
ThinkSNS新生代社交/社群系统“TS+”预售开启!

什么是 ThinkSNS+ ThinkSNS(简称TS),一款全平台综合性社交系统,为国内外大中小企业和创业者提供社会化软件研发及技术解决方案,目前最新版本为ThinkSNS+。 为什么要叫TS+? 一个看起来像手...

ThinkSNS官方帐号
2017/05/19
0
0
ThinkSNS受邀请参加OSC(开源中国)源创会成都站

OSC源创会成都站已于9月23日在成都安悦原舍酒店举行,ThinkSNS受开源中国邀请,参与本次源创汇分享,ThinkSNS作为国内知名开源社交系统,本次主要分享了最新版本ThinkSNS+的最新技术、优势等...

ThinkSNS账号
2017/09/27
0
0
社群系统ThinkSNS V4.5.29 APP更新发布,新增用户认证及系统消息

什么是ThinkSNS+ ThinkSNS(简称TS),一款全平台综合性SNS社交系统,为国内外大中小企业和创业者提供社会化软件研发及技术解决方案,目前最新版本为ThinkSNS+ V0.8.2和ThinkSNS V4.6(PC端为4...

ThinkSNS账号
2017/08/04
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Linux使用源码包安装软件

前言: 最近整理一些以前的学习笔记。 过去都是存储在本地,此次传到网络留待备用。 源码包 Linux软件多数免费、开源,是开发人员编写的,具有很强可读性的一组相关代码文本。 源码包 --> 编...

迷失De挣扎
今天
2
0
IPv4如何转换为IPv6?

ipv6已经逐渐在应用,现在已经有很多的运营商支持ipv6,前天我们也发布了如何让电脑使用ipv6地址?有很多朋友在问?ipv6有什么作用,它的表示方式是什么,今天我们来一起来详细了解下ipv6相关计...

xiangyunyan
今天
3
0
小白讲网络安全系列

注入攻击防护 XSS注入 SQL注入 命令注入 文件上传 文件解压缩 CSRF防护 对称加密 非对称加密 数字证书 数字签名 完整性校验 消息验证码 单向散列Hash函数 口令单向加密算法 审计日志 认证鉴权...

一刀
今天
2
0
MYSQL 嵌套事务(SAVEPOINT) 与Spring 事务传播

摘要 savepoint 关键字可以实现嵌套事务。结合savepoint关键字,更方便理解spring的事务传播。 事务嵌套 初始化表脚本 drop table t;create table t(a int, primary key(a)); 开启事务 my...

liangxiao
今天
4
0
Chrome OS 更新新版本可让Linux访问USB连接的Android设备

谷歌再次为Chrome OS带来了重大版本更新,使版本号达到了75。本次更新的一大亮点就是允许在Chrome OS上运行的Linux能够识别通过USB方式连接的Android设备,能够让用户使用Linux进行调试等等。...

linuxCool
昨天
19
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部