stream明与薰衣草的异同

我看了文档,看来Lumen是Laravel,function较less。 我肯定错过了什么。 我正在寻找一个Laravel和stream明的组件和function的比较表。 有谁知道不同之处?

更新(5.2)

随着最新版本的Lumen(5.2),Microframework将重点放在无状态API上。
该文件指出:

stream明5.2代表了瘦身Lumen的转变,专注于服务无状态的JSON API。 因此,会议和意见不再包含在框架中。 如果您需要访问这些function,则应使用完整的Laravel框架。


原始答案(<= 5.1)

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

Laravel是一个粘合了很多组件的框架(第三方和Laravel自己的组件)。 现在stream明使用了很多相同的组件,但是将自举过程降到最低。 你可以说这是一个“不同的胶水”,组件(因此很多function)大都是相同的。

性能改进是通过取消configuration方面的一些灵活性以及改变默认的启动过程来实现的。

除此之外,更多的function在默认情况下被禁用,必须在使用之前被激活。 作为一个例子: Facades (如DB::table()
您首先需要在bootstrap/app.php取消注释以启用它们:

 // $app->withFacades(); 

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

对于路由,Lumen使用nikic / FastRoute而不是symfonys路由器,因为它性能更好,并且给微型框架带来了另一个大的提升。

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

良好的读取stream明

  • 文档 (特别是引言 )
  • 文章来自Matt Stauffer
  • Taylor Otwell专访 (特别是最后一个问题)
  • Reddit讨论
  • Laracast:介绍stream明

stream明不是为了取代Laravel而devise的,而是为微服务和APIdevise的更专业化的(简化的)框架。 它带走了API(如HTTP会话和cookie)的不必要的function,并限制了configuration选项的数量。 开箱即用,Lumen牺牲了Laravel的速度。

但是,您可以将Laravel组件添加到Lumen中以进行扩展,因此不仅可以用于微服务和API。 但是,如果你的目标是把stream明扩展成一个网站,那么你可以用Laravel代替。

他们也有不同的用例。 stream明和Laravel是为了一起工作。 对于API和服务经常被调用,使用stream明。 对于面向用户的应用程序,请使用Laravel。


这个答案取自我写的博客文章 ,解释了stream明和Laravel之间的区别。

来自Matt Stauffer的引用

stream明与Laravel具有相同的基础,以及许多相同的组件。 但Lumen是为微服务而开发的,而不是面向用户的应用程序(虽然它可以用于任何事情)。因此,像Bootstrap和Elixir这样的前端细节以及身份validation引导程序和会话不是开箱即用的,而且扩展和更改引导文件的灵活性也较低。

你可以在这里阅读更多