亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

談?wù)?Laravel 5.5 的 「自動(dòng)發(fā)現(xiàn)」和此刻心情【社交系統(tǒng)研發(fā)日記七】

mo0n1andin / 1738人閱讀

摘要:看到第二個(gè)就知道了,和的自動(dòng)發(fā)現(xiàn)類似,我們是在中記錄服務(wù)提供者信息,而是在目錄中查找后寫入到。從這里讀取服務(wù)提供者列表,然后在函數(shù)中合并服務(wù)提供者,然后加載,從服務(wù)提供者中還可以繼續(xù)加載服務(wù)提供者。

看了Taylor Otwell發(fā)表的Package Auto-Discovery In Laravel 5.5第一反應(yīng)是

為啥。。。

也怪我,在開(kāi)發(fā)之前忘記看5.5的開(kāi)發(fā)代碼動(dòng)態(tài),之前的文章中也提到過(guò),在ThinkSNS+開(kāi)發(fā)場(chǎng)景中,我們不可能讓用戶去 config/app.php 修改配置,所以為了解決加載包的問(wèn)題,我們開(kāi)發(fā)了Laravel服務(wù)提供者的增強(qiáng)版可以看plus/doc/pakcage

是的,增強(qiáng)版的服務(wù)提供者,增加功能如下:

l 可以友好的加載其他「服務(wù)提供者」(這在開(kāi)發(fā)包的時(shí)候需要依賴其他laravel拓展包很有用)

l 服務(wù)提供者轉(zhuǎn)到composer.json配置(無(wú)需修改配置了)

l 針對(duì)包更友好的publish(Laravel的vendor:publish要求輸入服務(wù)提供者類,我們的只要求輸入包名稱)

l 處理器,簡(jiǎn)化版的命令行,可以用一個(gè)函數(shù)寫一個(gè)簡(jiǎn)單的處理方法。

看到第二個(gè)就知道了,和laravel 5.5的自動(dòng)發(fā)現(xiàn)類似,我們是在 bootstrap/cache/providers.php 中記錄服務(wù)提供者信息,而Laravel 5.5是在vendor目錄中查找后寫入到 bootstrap/cache/package.php 。

是的,我們的實(shí)現(xiàn)思路差不多,但我們支持更多功能。從這里讀取服務(wù)提供者列表,然后在 IlluminateFoundationApplication::registerConfiguredProviders 函數(shù)中合并服務(wù)提供者,然后加載,從服務(wù)提供者中還可以繼續(xù)加載服務(wù)提供者。

說(shuō)下我的心情,大概是這樣:,又喜又悲~

開(kāi)心,高興,Laravel更易用了,另一個(gè)心情;

惆悵,因?yàn)槲以谏缃幌到y(tǒng)ThinkSNS+中開(kāi)發(fā)了這一特性后,公司包幾乎都是以這種方式實(shí)現(xiàn)的。

你會(huì)說(shuō),把這些包配置字段設(shè)置下不就好了嘛?可是,在這種方式?jīng)]定型之前,已經(jīng)修改過(guò)一次,難道一個(gè)多月后又要修改一次?慘不忍睹呀?。?!我怕我會(huì)被揍,想想就有點(diǎn)痛。

今天在群里說(shuō)這個(gè)話題,某開(kāi)發(fā)者:“哈哈,我終于開(kāi)發(fā)了畫中畫功能”,然后谷歌:“Android 8 原生支持”。其實(shí)道理一樣的,并不是因?yàn)楣俜皆С至瞬缓?,而是在糾結(jié),用官方的?還是繼續(xù)維護(hù)自己的?自己的不一定有官方好,官方支持更穩(wěn)定。

總結(jié),我們覺(jué)得廢棄掉現(xiàn)在的安裝器(bootstrap/cache/providers.php 是由Composer安裝器插件寫入的),然后增加一份代碼,從vendor目錄匹配出來(lái),寫入到 bootstrap/cache/package.php 中去,只為5.5做準(zhǔn)備。來(lái)吧?。?!

開(kāi)源代碼倉(cāng)庫(kù)

GitHub:https://github.com/zhiyicx/th...(點(diǎn)擊star,每日關(guān)注開(kāi)發(fā)動(dòng)態(tài)。)

ThinkSNS官網(wǎng):http://www.thinksns.com

內(nèi)測(cè)申請(qǐng)方式

提供個(gè)人/企業(yè)聯(lián)系方式及認(rèn)證信息(實(shí)名ID/企業(yè)營(yíng)業(yè)執(zhí)照照片或掃描件)及申請(qǐng)說(shuō)明,發(fā)送郵件至lihecong@zhishisoft.com即可獲得內(nèi)測(cè)資格,申請(qǐng)從速。

歡迎各位關(guān)注者通過(guò)郵件,以圖+文的形式發(fā)送至官方郵箱lihecong@zhishisoft.com反饋發(fā)現(xiàn)的問(wèn)題,備注機(jī)型及系統(tǒng)版本。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/30602.html

相關(guān)文章

  • 基于 Laravel Route 社交系統(tǒng)ThinkSNS+ Component【研發(fā)日記系列三

    摘要:在社交系統(tǒng)中有這樣一個(gè)命令主要是用作包的安裝,升級(jí),卸載。這在開(kāi)發(fā)過(guò)程中很有用。內(nèi)測(cè)申請(qǐng)方式提供個(gè)人企業(yè)聯(lián)系方式及認(rèn)證信息實(shí)名企業(yè)營(yíng)業(yè)執(zhí)照照片或掃描件及申請(qǐng)說(shuō)明,發(fā)送郵件至將有機(jī)會(huì)獲得首批內(nèi)測(cè)資格,名額有限,申請(qǐng)從速。 在前面,我介紹了拓展類型,分別有 plus-compnent 和 plus-plugin 兩個(gè),這里重點(diǎn)講以下如何實(shí)現(xiàn) plus-component 的。 plus-c...

    pf_miles 評(píng)論0 收藏0
  • 簡(jiǎn)析ThinkSNS+ 計(jì)算字符顯示長(zhǎng)度方法!【社交系統(tǒng)研發(fā)日記

    摘要:今天我們來(lái)聊一下可能很多人都會(huì)頭疼的東西顯示長(zhǎng)度。需求是這樣的,在字符的顯示上,兩個(gè)英文單詞才占一個(gè)中文或者其他語(yǔ)言的顯示長(zhǎng)度。好在在無(wú)意間發(fā)現(xiàn)一個(gè)奇怪的東西這個(gè)函數(shù)計(jì)算非英文單詞外是除了符號(hào)例如中文就是按照漢字個(gè)數(shù)算的,也是同理。 今天我們來(lái)聊一下可能很多人都會(huì)頭疼的東西:顯示長(zhǎng)度。 需求是這樣的,在字符的顯示上,兩個(gè)英文單詞才占一個(gè)中文或者其他語(yǔ)言的顯示長(zhǎng)度。如下: showImg...

    Miracle 評(píng)論0 收藏0
  • 不使用三方包時(shí),如何在社交系統(tǒng)ThinkSNS中建立優(yōu)雅用戶權(quán)限管理【研發(fā)日記13】

    摘要:本文主要全面講解在不適用第三方包的情況下,如何在基于框架上,研發(fā)社交系統(tǒng)時(shí),簡(jiǎn)歷一套優(yōu)雅而不失性價(jià)比的用戶權(quán)限管理體系功能,內(nèi)含真實(shí)代碼。需求場(chǎng)景就是用戶組權(quán)限節(jié)點(diǎn),這個(gè)需求有很多很好的第三方包實(shí)現(xiàn)。但是已經(jīng)足以勝任用戶組權(quán)限判斷邏輯了。 本文主要全面講解在不適用第三方包的情況下,如何在基于Laravel框架上,研發(fā)社交系統(tǒng)ThinkSNS+時(shí),簡(jiǎn)歷一套優(yōu)雅而不失性價(jià)比的用戶權(quán)限管理體...

    JackJiang 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<