真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

ThinkSNS+基于Laravelmaster分支,從1到0,再到0.1

什么是 ThinkSNS+
09 年,由北京的團隊開發(fā)了 ThinkSNS 涉足社交開源行業(yè)。這么多年累計不少客戶。2014-2016,兩年都在維護和開發(fā)之前基于 TP 的 ThinkSNS , 慢慢的引入新開發(fā)概念。終于,在2016年下半年,我們決定重寫這個程序,拋棄之前的每一行代碼??蚣苌?,開發(fā)人員一致性的選擇了 Laravel ,并取了一個看起來像手機廠商給手機命名的名字----ThinkSNS Plus 沒錯就是 Plus 也就是符號 + 因為我們更希望側(cè)重移動端,這就是 ThinkSNS+。

成都創(chuàng)新互聯(lián)公司是一家專注于做網(wǎng)站、網(wǎng)站建設(shè)與策劃設(shè)計,慶陽網(wǎng)站建設(shè)哪家好?成都創(chuàng)新互聯(lián)公司做網(wǎng)站,專注于網(wǎng)站建設(shè)十余年,網(wǎng)設(shè)計領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:慶陽等地區(qū)。慶陽做網(wǎng)站價格咨詢:028-86922220

如何保持和 Laravel 的升級
起初沒想過框架升級的問題,后來思考了一個問題,最后會不會像之前版本一樣?框架難以升級?所以我們決定每周一對 laravel/laravel 的 master 分支進行合并,為了表示對 Taylor Otwell 以及 Laravel 貢獻者的尊重,每一個 commit 在合并的時候都進行了保留。

開源協(xié)議
由于 Laravel 本身是 MIT 協(xié)議,基于 Laravel 開發(fā),我們也希望 ThinkSNS+ 能為開源社區(qū)貢獻,所以代碼上沒有采用私有協(xié)議,而是選擇了 Apache-2.0 協(xié)議進行開源。

前端工作流
這塊是一個難以選擇的問題,我們希望能由內(nèi)置 Laravel-Mix 的契合度,又希望構(gòu)建能更適合我們的應(yīng)用場景,最后,我們選擇 放棄 Laravel-Mix 自己做前端構(gòu)建,衍生出一個新的問題,我們又希望能和 mix 輔助函數(shù)無縫配合,看了源代碼后,發(fā)現(xiàn)問題太簡單了,就是一個 mix-manifest.json 的事情而已,但是這個東西卻一波三折。

起初,我們選擇在 webpack.config.babel.js 中做生成函數(shù),配合第三方包實現(xiàn),功能實現(xiàn)了。但是如果是拓展包接入也要使用怎么辦?最后開發(fā) webpack-laravel-mix-manifest 這個前端包,來生成這個文件。

拓展設(shè)計
首選,拓展設(shè)計目前有兩個,分別是 plus-component 和 plus-plugin 其實都是由 Composer 中間插件實現(xiàn)。

composer 插件 zhiyicx/plus-install-plugin

plus-component
這個設(shè)計其實只是想拓展包可以快速的接入路由模板數(shù)據(jù)模型這些基礎(chǔ)開發(fā),也是中間插件 1.0 版本中唯一實現(xiàn)的拓展方式,存在了長達半年之久,可以快速的寫路由、控制器、數(shù)據(jù)模型,目前我們團隊出的應(yīng)用拓展都是以此方式開發(fā)實現(xiàn)。
并封裝了 php artisan component 命令安裝。

plus-plugin
這是一個很年輕的 type 在 composer 插件 1.1 版本中增加的,這個拓展方式實現(xiàn)原理很簡單,其實就是 Laravel 的 Service Provider ,熟悉 Laravel 開發(fā)都知道,這個服務(wù)門面被稱之為 "Laravel 拓展" 但是安裝并不方便,需要先 composer require vendor/name ,然后在 app.php 的 providers 字段中配置,然后運行命令生成配置文件等。

考慮到 ThinkSNS+ 面向的都是站長、創(chuàng)業(yè)者、企業(yè)集團等用戶,讓他們改代碼?簡直不如殺了他們。所以,萌生了一個想法,如何把這個步驟自動化?讓用戶只需要 composer require vendor/name 就完成呢?而且,對于例如廣播系統(tǒng)的使用,很需要一個這樣的東西來方便開發(fā)拓展。所以想辦法把這個步驟,在 composer require 步驟完成,由此開發(fā)了這個模式。

Laravel 的拓展不能直接以這種方式使用喲,因為我們做這個的想法是把配置移交到后臺配置。

接口和 SPA
接口,在初期沒有完全考慮 REST ful 所以,你能會看到 URL 命名很像 REST ful 規(guī)范,實際數(shù)據(jù)卻不是,后續(xù)逐步規(guī)范化。

這里提到了 API 接口,意味著一個事情,我們拋棄了傳統(tǒng)網(wǎng)頁,ThinkSNS+ 核心就是一個 用戶中心,然后功能全部由拓展實現(xiàn),目前后臺、手機端 都是采用 SPA 調(diào)用接口的形式開發(fā)。

開源代碼倉庫:

GitHub:https://github.com/zhiyicx/thinksns-plus(點擊star,每日關(guān)注開發(fā)動態(tài)。)


分享題目:ThinkSNS+基于Laravelmaster分支,從1到0,再到0.1
網(wǎng)頁地址:http://weahome.cn/article/jcooii.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部