文档章节

ThinkSNS+ 基于 Laravel master 分支,从 1 到 0,再到 0.1

ThinkSNS账号
 ThinkSNS账号
发布于 2017/05/05 16:43
字数 1278
阅读 10
收藏 0

什么是 ThinkSNS+

09 年,由北京的团队开发了 ThinkSNS 涉足社交开源行业。这么多年累计不少客户。2014-2016,两年都在维护和开发之前基于 TP 的 ThinkSNS , 慢慢的引入新开发概念。终于,在2016年下半年,我们决定重写这个程序,抛弃之前的每一行代码。框架上,开发人员一致性的选择了 Laravel ,并取了一个看起来像手机厂商给手机命名的名字----ThinkSNS Plus 没错就是 Plus 也就是符号 + 因为我们更希望侧重移动端,这就是 ThinkSNS+。

如何保持和 Laravel 的升级

起初没想过框架升级的问题,后来思考了一个问题,最后会不会像之前版本一样?框架难以升级?所以我们决定每周一对 laravel/laravel 的 master 分支进行合并,为了表示对 Taylor Otwell 以及 Laravel 贡献者的尊重,每一个 commit 在合并的时候都进行了保留。 开源协议

由于 Laravel 本身是 MIT 协议,基于 Laravel 开发,我们也希望 ThinkSNS+ 能为开源社区贡献,所以代码上没有采用私有协议,而是选择了 Apache-2.0 协议进行开源。

前端工作流

这块是一个难以选择的问题,我们希望能由内置 Laravel-Mix 的契合度,又希望构建能更适合我们的应用场景,最后,我们选择 放弃 Laravel-Mix 自己做前端构建,衍生出一个新的问题,我们又希望能和 mix 辅助函数无缝配合,看了源代码后,发现问题太简单了,就是一个 mix-manifest.json 的事情而已,但是这个东西却一波三折。

起初,我们选择在 webpack.config.babel.js 中做生成函数,配合第三方包实现,功能实现了。但是如果是拓展包接入也要使用怎么办?最后开发 webpack-laravel-mix-manifest 这个前端包,来生成这个文件。

拓展设计

首选,拓展设计目前有两个,分别是 plus-component 和 plus-plugin 其实都是由 Composer 中间插件实现。

composer 插件 zhiyicx/plus-install-plugin

plus-component

这个设计其实只是想拓展包可以快速的接入路由模板数据模型这些基础开发,也是中间插件 1.0 版本中唯一实现的拓展方式,存在了长达半年之久,可以快速的写路由、控制器、数据模型,目前我们团队出的应用拓展都是以此方式开发实现。 并封装了 PHP artisan component 命令安装。

plus-plugin

这是一个很年轻的 type 在 composer 插件 1.1 版本中增加的,这个拓展方式实现原理很简单,其实就是 Laravel 的 Service Provider ,熟悉 Laravel 开发都知道,这个服务门面被称之为 "Laravel 拓展" 但是安装并不方便,需要先 composer require vendor/name ,然后在 app.php 的 providers 字段中配置,然后运行命令生成配置文件等。

考虑到 ThinkSNS+ 面向的都是站长、创业者、企业集团等用户,让他们改代码?简直不如杀了他们。所以,萌生了一个想法,如何把这个步骤自动化?让用户只需要 composer require vendor/name 就完成呢?而且,对于例如广播系统的使用,很需要一个这样的东西来方便开发拓展。所以想办法把这个步骤,在 composer require 步骤完成,由此开发了这个模式。

Laravel 的拓展不能直接以这种方式使用哟,因为我们做这个的想法是把配置移交到后台配置。

接口和 SPA

接口,在初期没有完全考虑 REST ful 所以,你能会看到 URL 命名很像 REST ful 规范,实际数据却不是,后续逐步规范化。

这里提到了 API 接口,意味着一个事情,我们抛弃了传统网页,ThinkSNS+ 核心就是一个 用户中心,然后功能全部由拓展实现,目前后台、手机端 都是采用 SPA 调用接口的形式开发。

TS开源版源码官方正版获取唯一渠道:关注公众号“thinksns”,回复“开源版”即可获得最新源码压缩文件地址。

开源代码仓库:

GitHub:https://github.com/zhiyicx/thinksns-plus(点击star,每日关注开发动态。)

咨询Q Q:3298713109

官网:http://www.thinksns.com/

内测申请方式

  提供个人/企业联系方式及认证信息(实名ID/企业营业执照照片或扫描件)及申请说明,发送邮件至lihecong@zhishisoft.com将有机会获得首批内测资格,名额有限,申请从速。

  参与内测请提供以下资料

  1个可接收验证码的手机号

  1个指定邮箱

  1位测试人员姓名

  1个您喜欢的账号昵称

开源不易,为了争取开源,我们团队做了很多努力。把基于 Laravel 的作品展示在大家面前,之后专栏会持续不断的分享 ThinkSNS+ 开发过程中的技术细节。

© 著作权归作者所有

共有 人打赏支持
ThinkSNS账号
粉丝 4
博文 246
码字总数 322739
作品 0
东城
私信 提问
ThinkSNSPlus 从1.0到2.0

什么是 ThinkSNS+ 09 年,由北京的团队开发了 ThinkSNS 涉足社交开源行业。这么多年累计不少客户。2014-2016,两年都在维护和开发之前基于 TP 的 ThinkSNS , 慢慢的引入新开发概念。终于,在...

ThinkSNS账号
10/12
0
0
ThinkSNSPlus 技术优势

ThinkSNS产品有哪些特色和优势? ThinkSNS在产品系统研发中始终坚持高性能,高标准,高适用“三高”原则。注重框架,模块,功能,体验4个部分的完整性,关联性,需求有效性。通过市场调研,企...

ThinkSNS账号
10/16
0
0
ThinkSNSPlus 2.0 产品体验报告

一、 产品概述 1. 体验环境 应用名称:ThinkSNS+ 产品 slogan:帮助社群创业变现 体验版本:V2.0.0 体验环境:iPhone 8 体验时间:2018 年 9 月 20 日 2. 产品定位 一款全平台综合性社交系统...

ThinkSNS账号
10/12
0
0
社区源码:如何搭建一个企业社区

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

ThinkSNS账号
07/18
0
0
ThinkSNSPlus V1.9-V2.0升级指南

ThinkSNS Plus最新体验demo:请于官网下载/安装最新版或点击在线咨询 WARNING 当你选择从指定版本升级到指定版本的时候,请务必先停止 Web 服务。 请你先确认你的版本已经是 1.9. 版本,这里...

ThinkSNS账号
09/27
0
0

没有更多内容

加载失败,请刷新页面

加载更多

MariaDB 服务器在 MySQL Workbench 备份数据的时候出错如何解决

服务器是运行在 MariaDB 10.2 上面的,在使用 MySQL Workbench 出现错误: mysqldump: Couldn't execute 'SELECT COLUMN_NAME, JSON_EXTRACT(HISTOGRAM, '$."number-of-buckets-specified"'......

honeymose
今天
2
0
apache顶级项目(二) - B~C

apache顶级项目(二) - B~C https://www.apache.org/ Bahir Apache Bahir provides extensions to multiple distributed analytic platforms, extending their reach with a diversity of s......

晨猫
今天
6
0
day152-2018-11-19-英语流利阅读

“超级食物”竟然是营销噱头? Daniel 2018-11-19 1.今日导读 近几年来,超级食物 superfoods 开始逐渐走红。不难发现,越来越多的轻食餐厅也在不断推出以超级食物为主打食材的健康料理,像是...

飞鱼说编程
今天
12
0
SpringBoot源码:启动过程分析(二)

接着上篇继续分析 SpringBoot 的启动过程。 SpringBoot的版本为:2.1.0 release,最新版本。 一.时序图 一样的,我们先把时序图贴上来,方便理解: 二.源码分析 回顾一下,前面我们分析到了下...

Jacktanger
昨天
4
0
Apache防盗链配置,Directory访问控制,FilesMatch进行访问控制

防盗链配置 通过限制referer来实现防盗链的功能 配置前,使用curl -e 指定referer [root@test-a test-webroot]# curl -e "http://www.test.com/1.html" -x127.0.0.1:80 "www.test.com/1.jpg......

野雪球
昨天
7
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部