流明和拉拉维尔的异同

2022-08-30 06:26:18

我阅读了文档,似乎Lumen是Laravel,功能较少。我一定错过了什么。我正在寻找Laravel和Lumen的组件和功能的比较表。有人知道其中的区别吗?


答案 1

更新 (5.2)

在最新版本的Lumen(5.2)中,Microframework专注于无状态API。
文档指出:

Lumen 5.2 代表了瘦身 Lumen 的转变,专注于提供无状态 JSON API。因此,会话和视图不再包含在框架中。如果您需要访问这些功能,则应使用完整的Laravel框架。


原始答案 (< = 5.1)

流明是关于速度的。它比Laravel更快,每秒可以处理更多的请求。

Laravel是一个将许多组件粘合在一起的框架(第三方和Laravels自己的组件)。现在,Lumen使用了很多相同的组件,但将自举过程降至最低。你可以说它是一个“不同的胶水”,组件(因此很多功能)大多是相同的。

性能改进是通过在配置和更改默认引导过程方面剥夺框架的一些灵活性来实现的。

除此之外,默认情况下会禁用更多功能,并且必须先激活才能使用它们。例如:立面(如)
您首先需要取消注释此行以启用它们:DB::table()bootstrap/app.php

// $app->withFacades();

Dotenv环境文件和Eloquent也是如此。

对于路由Lumen,使用nikic / FastRoute而不是symfonys路由器,因为它的性能要好得多,并且为微框架提供了另一个很大的提升。

除此之外,几乎所有东西都和Laravel一样。

流明上的好读物


答案 2

Lumen并不是为了取代Laravel而设计的,相反,它是一个为微服务和API设计的更专业(和精简)的框架。它带走了API不需要的功能,如HTTP会话和cookie,并且还限制了配置选项的数量。开箱即用的Lumen削弱了Laravel在速度方面的灵活性。

但是,您可以将Laravel组件添加到Lumen以扩展它,因此它不仅可以用于微服务和API。但是,如果您的目标是扩展Lumen以成为一个网站,那么您也可以使用Laravel。

它们也有不同的用例。Lumen和Laravel旨在合作。对于经常调用的 API 和服务,请使用 Lumen。对于面向用户的应用程序,请使用 Laravel。


这个答案来自我写的一篇博客文章,解释了Lumen和Laravel之间的区别。


推荐