Lumen和Laravel之间的差异和相似之处

8 浏览
0 Comments

Lumen和Laravel之间的差异和相似之处

我读过文档,感觉 Lumen 就是 Laravel 的简化版,但似乎我错过了些什么。

我想要比较 Laravel 和 Lumen 的组件和特性的对比表。有人知道其中的差异吗?

admin 更改状态以发布 2023年5月20日
0
0 Comments

Lumen并非设计用来替代Laravel,实际上,它是一款更专业(和去除了很多元素)的框架,专为微服务和API而设计。它去除了API中不需要的功能,如HTTP会话和Cookie,并限制了配置选项的数量。开箱即用,Lumen为了速度而牺牲了Laravel的灵活性。

然而,您可以向Lumen添加Laravel组件以扩展其功能,使其不仅适用于微服务和API。但是,如果您的目标是将Lumen扩展为网站,那么您可以使用Laravel代替。

它们也有不同的用例。 Lumen和Laravel旨在一起使用。对于频繁调用的API和服务,请使用Lumen。对于面向用户的应用程序,请使用Laravel。


本答案摘自我撰写的一篇博客文章,介绍了Lumen和Laravel之间的区别。

0
0 Comments

更新(5.2)

使用最新版本的Lumen(5.2),这个微框架专注于无状态API。
文档如下所述:

Lumen 5.2 把注意力放在了减轻Lumen的负担上,以便完全专注于服务无状态、JSON API。 因此,会话和视图不再包含在框架中。如果你需要访问这些功能,你应该使用完整的Laravel框架。


原回答(<= 5.1)

Lumen强调速度。 它比Laravel更快,可以处理更多每秒的请求。

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

通过减少框架在配置和修改默认引导过程方面的灵活性,实现性能提高。

此外,默认禁用了更多功能,必须在使用之前激活。例如:Facades(如DB :: table()
你需要取消注释bootstrap/app.php中的这一行才能启用它们:

// $app->withFacades();

相同的方法也适用于Dotenv环境文件和Eloquent。

在路由方面,Lumen使用nikic / FastRoute而不是symfonys路由器,因为它执行得更好,并为微型框架提供了另一个大的推动。

除此之外,几乎所有的事情都和 Laravel 一样。

Lumen 的好读物

0