我阅读了文档,似乎Lumen是Laravel,功能较少。我肯定错过了什么。我正在寻找Laravel和Lumen的组件和功能的对照表。有谁知道差异吗?
我阅读了文档,似乎Lumen是Laravel,功能较少。我肯定错过了什么。我正在寻找Laravel和Lumen的组件和功能的对照表。有谁知道差异吗?
Answers:
在最新版本的Lumen(5.2)中,微框架专注于无状态API。
该文档指出:
Lumen 5.2代表了精简Lumen的转变,使其仅专注于提供无状态的JSON API。因此,会话和视图不再包含在框架中。如果需要访问这些功能,则应使用完整的Laravel框架。
流明与速度有关。它比Laravel更快,并且每秒可以处理更多请求。
Laravel是一个将很多组件粘合在一起的框架(第三方和Laravels自己的组件)。现在,Lumen使用了许多相同的组件,但将引导过程降至最低。您可以说这是一种“不同的胶水”,其组件(以及许多功能)大部分相同。
通过取消框架在配置方面的某些灵活性并更改默认的引导过程,可以实现性能的提高。
除此之外,更多功能默认情况下处于禁用状态,必须先激活才能使用。例如:Facades(like DB::table()
)
您首先需要取消注释此行bootstrap/app.php
以启用它们:
// $app->withFacades();
Dotenv环境文件和Eloquent也是如此。
对于路由,Lumen使用nikic / FastRoute而不是symfonys路由器,因为它的性能要好得多,并且可以使微框架获得更大的提升。
除此之外,其他一切都与Laravel中的相同。
流明的好读
Lumen并非旨在取代Laravel,而是为微服务和API设计的更加专业(且精简)的框架。它取消了API不需要的功能,例如HTTP会话和cookie,并且还限制了配置选项的数量。开箱即用的Lumen牺牲了Laravel的速度灵活性。
但是,您可以向Lumen添加Laravel组件以对其进行扩展,因此它不仅可以用于微服务和API。但是,如果您的目标是将Lumen扩展为网站,则最好使用Laravel。
他们也有不同的用例。Lumen和Laravel打算一起工作。对于经常被调用的API和服务,请使用Lumen。对于面向用户的应用程序,请使用Laravel。
这个答案来自我写的博客文章,该文章解释了Lumen和Laravel之间的区别。
马特·斯塔弗的话
流明具有与Laravel相同的基础,并且具有许多相同的组件。但是Lumen是为微服务而构建的,而不是为面向用户的应用程序而构建的(尽管它可以用于任何事物。)因此,像Bootstrap和Elixir这样的前端功能以及身份验证引导程序和会话并没有开箱即用,并且扩展和更改引导文件的灵活性较小。
你可以在这里阅读更多
redirect()->intended
。我希望流明能赶上这些领域。我真的很喜欢没有ORM(雄辩)的Laravel,因此Lumen对我来说很有吸引力。
redirect()->intended()
Lumen专注于API的用途。
为什么选择流明?
Lumen是构建基于Laravel的微服务和快速API的理想解决方案。实际上,它是现有最快的微框架之一。编写惊人的快速服务来支持您的Laravel应用程序从未如此简单。文件
Lumen是一个构建API的框架,该API本质上将为您的请求提供JSON响应。而已。
这些应用程序通常被称为Web服务。
从Lumen 5.2更新开始,它不支持laravel视图,会话等...,因为您将不得不升级到完整的laravel框架。
Laravel框架的某些组件与其他软件包交换了性能。在这里检查
我们可以考虑流明的示例场景
laravel和lumen之间的主要区别在于,Laravel可以具有工匠命令,而lumen没有。