日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

流明介绍

發(fā)布時(shí)間:2023/12/16 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 流明介绍 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

Lumen是一個(gè)由Laravel框架的作者Taylor Otwell開(kāi)發(fā)的全新PHP微框架的品牌。 不過(guò),請(qǐng)不要強(qiáng)調(diào)-流明并不能取代Laravel。 實(shí)際上,Lumen的想法是,它可以補(bǔ)充您現(xiàn)有或?qū)?lái)的Laravel應(yīng)用程序。

Taylor Otwell在開(kāi)發(fā)Lumen時(shí)考慮了一些非常特定的目的,即微服務(wù)和API。 簡(jiǎn)而言之,微服務(wù)是一個(gè)較小的,解耦的過(guò)程,可與較大的應(yīng)用程序(例如,我們的Laravel應(yīng)用程序)通信。

在本文中,我想介紹流明的不同之處,何時(shí)使用流明以及如何使用流明。 我還將說(shuō)明如何使用Lumen應(yīng)用程序并將其輕松遷移到全棧Laravel應(yīng)用程序。 因?yàn)長(zhǎng)umen與Laravel幾乎相同,所以不會(huì)有很多代碼。 讓我們開(kāi)始吧。

那么有什么新消息?

這很可能是你們中許多人會(huì)問(wèn)的第一個(gè)問(wèn)題。 實(shí)際上,除了膠水以外,Lumen并不是真正的全部。 Lumen仍然使用構(gòu)成Laravel框架的大多數(shù)Illuminate組件(僅缺少幾個(gè))。 將其視為精簡(jiǎn)的Laravel安裝。

其目標(biāo)是最大程度地提高性能,并獲得這種性能提升,但已經(jīng)做了幾處更改。 其中最重要的是:

  • 配置少。 許多流明已預(yù)先配置。 實(shí)際上,您會(huì)發(fā)現(xiàn)Lumen安裝中沒(méi)有config目錄。 相反,您將利用.env文件來(lái)配置大多數(shù)應(yīng)用程序。
  • 不同的路由器。 這可能是最大的不同,也是它可以做到最快的原因。 流明沒(méi)有像其老兄Laravel那樣使用Symfony路由器。 相反,Lumen使用FastRoute ,這是Nikita Popov開(kāi)發(fā)的輕量級(jí)路由實(shí)現(xiàn)。
  • 這里有一些權(quán)衡。 FastRoute是一個(gè)非常快速的實(shí)現(xiàn),但是它不像Symfony路由器那樣具有豐富的功能。 如果要使用子域路由,則必須堅(jiān)持使用使用Symfony路由器的Laravel安裝。

    另一個(gè)值得一提的折衷是,為了更好地控制某些組件的配置,您需要在vendor/laravel/lumen-framework目錄中修改配置文件。 大部分配置都可以通過(guò).env文件完成,但某些配置較少的事情則不能直接配置。

    我現(xiàn)在應(yīng)該切換到流明嗎?

    這里的答案將取決于,但可能并非如此。 如果您正在開(kāi)發(fā)或已經(jīng)在Laravel(4或5)上開(kāi)發(fā)了應(yīng)用程序,那么您可能不需要在此刻就切換到Lumen。 盡管Lumen能夠開(kāi)發(fā)功能完善的Web應(yīng)用程序,但它更適合于較小的,解耦的服務(wù)和API。

    那么我什么時(shí)候可以使用它?

    我無(wú)法告訴您何時(shí)可以使用和不能使用可用的框架。 但是,我將對(duì)何時(shí)考慮在下一個(gè)項(xiàng)目中使用流明提出一些建議。

    假設(shè)您正在構(gòu)建大型網(wǎng)上商店應(yīng)用程序。 因此,您可以繼續(xù)安裝Laravel并開(kāi)始在整體應(yīng)用程序上工作。 現(xiàn)在,這種方法沒(méi)有任何問(wèn)題,您可能會(huì)發(fā)現(xiàn)它對(duì)您來(lái)說(shuō)很好用。 如果是這樣,繼續(xù)。 如果您發(fā)現(xiàn)您對(duì)復(fù)雜性不知所措,或者事情似乎有點(diǎn)失控,那么您可能希望將其分解為一些更小,更易于管理的部分。

    您將使用Lumen為每個(gè)解耦的服務(wù)創(chuàng)建單獨(dú)的應(yīng)用程序。 對(duì)于我們的商店,我們可能會(huì)將帳單,電子郵件通知,運(yùn)輸和跟蹤拆分為單獨(dú)的應(yīng)用程序。 這些應(yīng)用程序中的每個(gè)應(yīng)用程序都是一個(gè)獨(dú)立的Lumen安裝程序,每個(gè)應(yīng)用程序僅執(zhí)行特定的任務(wù)。

    為了使我們的主應(yīng)用程序能夠與解耦的服務(wù)進(jìn)行通信,我們將使用隊(duì)列和Amazon SQS之類(lèi)的服務(wù)。 我們可以使用隊(duì)列輕松地將作業(yè)排隊(duì),每個(gè)服務(wù)將偵聽(tīng)其特定的作業(yè)并在排隊(duì)時(shí)對(duì)其進(jìn)行處理。 這種方法的好處在于,每個(gè)服務(wù)都可以彼此獨(dú)立地?cái)U(kuò)展和部署。

    您還可以使用Lumen構(gòu)建API,您的主應(yīng)用程序也可以在HTTP客戶(hù)端(例如Guzzle)的幫助下使用該API。 這種解耦使您可以擴(kuò)展和優(yōu)化應(yīng)用程序的業(yè)務(wù)方面,而不會(huì)干擾其余部分。

    好的,我該如何使用?

    到目前為止,您應(yīng)該對(duì)使用Lumen是否適合您正確的方法有了個(gè)好主意。 安裝Lumen就像安裝Laravel一樣簡(jiǎn)單:一個(gè)簡(jiǎn)單的composer create-project命令,或者您可以安裝lumen命令來(lái)創(chuàng)建新項(xiàng)目。 我們將僅使用Composer進(jìn)行全新安裝。

    composer create-project laravel/lumen LumenProject --prefer-dist

    Composer將下拉所有依賴(lài)項(xiàng)。 您可以使用Artisan快速提供該應(yīng)用程序以進(jìn)行查看,也可以設(shè)置虛擬主機(jī)或Homestead站點(diǎn)。 無(wú)論哪種方式,一旦您找到流明安裝的路徑,您都會(huì)看到閃亮的啟動(dòng)頁(yè)面,通知您流明很好。

    所有配置都在.env文件中完成,因此您需要重命名.env.example文件或?qū)⑵鋬?nèi)容復(fù)制到新文件中。

    您需要了解的其余引導(dǎo)程序位于bootstrap/app.php文件中。 如果使用上面提到的.env配置,那么您將要取消注釋Dotenv::load(__DIR__.'/../');注釋Dotenv::load(__DIR__.'/../'); 。 滾動(dòng)瀏覽此文件,您會(huì)看到一些可能要取消注釋的注釋行。 其中包括外觀,Eloquent,一些中間件以及其他服務(wù)提供商的注冊(cè)。

    現(xiàn)在,您已經(jīng)獲得了全新安裝和配置的Lumen副本,準(zhǔn)備構(gòu)建驚人的東西。

    但是等等,我現(xiàn)在需要Laravel!

    您可能正在構(gòu)建Lumen應(yīng)用程序,并且一切都進(jìn)行得非常順利,直到有一天,當(dāng)您意識(shí)到自己只需要完整的Laravel框架所提供的東西時(shí),這一命運(yùn)才得以實(shí)現(xiàn)。 不過(guò),請(qǐng)不要強(qiáng)調(diào),因?yàn)檫@是極其輕松的升級(jí)。 以下是要遵循的步驟:

  • 安裝新的Laravel 5副本。
  • 在您的app目錄中復(fù)制。 請(qǐng)注意,您可能需要L5 app目錄中的某些內(nèi)容,例如提供程序。
  • 將整個(gè)配置復(fù)制到config目錄中的相應(yīng)文件。
  • 跨任何自定義引導(dǎo)復(fù)制。
  • 修正一些路線。 由于Lumen使用FastRoute,因此您可能需要調(diào)整一些路由,以使其與Symfony路由器兼容。
  • 這應(yīng)該是您需要復(fù)制的大部分內(nèi)容,才能將Lumen應(yīng)用程序遷移到Laravel。 當(dāng)然,這兩種方法都起作用,因此,如果您意識(shí)到不需要全棧框架提供的所有功能,則可以輕松地將Laravel應(yīng)用程序遷移到Lumen。

    結(jié)論

    總結(jié)一下,我只想指出,我主張將Lumen主要用于分離的服務(wù)和API,這是它的預(yù)期用途。 這并不是說(shuō)您不能在Lumen上構(gòu)建整個(gè)應(yīng)用程序,因?yàn)榭梢浴?如果您選擇這樣做,那很好。 在石板上刻沒(méi)有任何規(guī)則來(lái)告訴您項(xiàng)目可以使用和不使用的內(nèi)容。 最終,決定權(quán)由您自己決定。 權(quán)衡您的選擇,計(jì)劃項(xiàng)目,確定所需條件,咨詢(xún)團(tuán)隊(duì),然后做出最終決定。

    翻譯自: https://code.tutsplus.com/articles/introduction-to-lumen--cms-23928

    總結(jié)

    以上是生活随笔為你收集整理的流明介绍的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

    如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。