Lumen 是什么?

Lumen 是一个“微框架”,基于 Laravel 组件构建,是 Laravel 官方支持的微框架。Lumen 诞生的目的是更快的执行速度,它是目前所有微框架中速度最快的一个 -- 甚至明显快于同类框架,例如 Silex。

然而,和其他微框架不同的是,Lumen 能够让你利用 Laravel 框架的强大功能,例如 路由(routing)、依赖注入(dependency injection)、Eloquent ORM、数据库迁移(migrations)、队列任务(queued jobs),甚至定时指令(scheduled commands)。

Laravel 已经很快、很强大了,但是 Lumen 去除掉了 Laravel 所提供的很多配置和定制选项,为的就是尽可能地减少后台服务的加载时间。

Lumen 超快的执行速度与 Laravel 提供的方便特性相结合,让你能够同时享受到“微框架”与“宏框架”两者的优点,让开发工作更愉快。

何时应该用 Lumen?

Lumen 的设计目的是为了构建超级快速的微服务(micro-services)和API服务的。例如,如果你的 Laravel 应用程序中的某个部分承受着大大高于其他部分的工作负荷,你可以选择将这部分功能构建为一个小型、独立的 Lumen 应用程序。

通过减少 Laravel 主应用程序的负荷,能够减少对服务器的需求量,因为基于 Lumen 构建的应用程序对服务器的需求明显少于 Laravel。

当然,Lumen 应用程序可以管理队列任务从而让 Laravel 主应用程序去处理。Laravel 和 Lumen 是一对最佳拍档,联合使用时能帮你构建强大、微服务(micro-service)驱动的应用程序。

Lumen 还非常适合构建快速的 JSON API 服务,由于这种类型的应用程序通常不需要 HTTP sessions、cookies 和 模板等功能特性。

Lumen 的局限

Lumen 不像 Laravel 框架一样提供更多的配置选项。例如,你不能覆盖框架中的任何 "bootstrappers" 来彻底改变框架的结构。还有,和 Laravel 不一样的是,Lumen 不能与其他 Laravel 开发包(packages)结合使用,例如 debug bars、CMS systems 等等。

另外,Lumen 没有使用 Symfony 的路由组件,而是使用了 nikic/fast-route 以获取更高的执行效率。如果你需要使用 Symfony 路由组件的特性,例如子域名路由(sub-domain routing)或可选参数(optional parameters),建议你使用 Laravel 框架。

如果你选择使用全功能的 Laravel 框架,不要担心影响你的应用程序的执行效率。全功能的 Laravel 框架已经被很多大的、企业级的应用程序在使用,每天处理 15,000,000 次请求都是小 case。

Lumen 包含的特性

Lumen 包含了许多与 Laravel 框架相同的特色:

● Blade 模板引擎

● 缓存

● Command Scheduler

● 控制器

● Eloquent ORM

● 错误处理

● 数据库抽象

● 依赖注入

● 日志

● 队列任务

通过使用统一的 bootstrapping 过程,Lumen 能够提供一组健壮的功能特性,同时还能具有超高的性能,成为 PHP 领域用来实现“微服务”的最佳方案。

当然,你可以详细阅读上述提到的每一个功能特性的详细文档。

php lumen 框架优点,微框架Lumen 特性相关推荐

  1. php yii框架优点,yii框架有什么优势

    Yii是一个优秀的使用非常广泛适合开发PHP大型项目的架构,以下是青锋建产给大家分享的yii框架的简介,特点.优势.系统要求. Yii 是什么 Yii 是一个高性能,基于组件的 PHP 框架,用于快速 ...

  2. python flask框架优点_flask框架有什么用

    Flask框架的特点 1.轻巧 2.简洁 3.扩展性强(个人认为最重要的特点) 4.核心(werkzeug和jinja2)jinja2就是指模板引擎. Flask确实很"轻",不愧 ...

  3. lumen php版本,PHP微框架 Lumen 使用全纪录

    lumen.jpeg 本文将介绍Lumen的使用和遇到的问题,重点是官方文档中没太详细介绍的内容,不定期更新. Lumen框架使用Laravel模块构建而成. 与Laravel臃肿不同,Lumen是微 ...

  4. 华为18级大牛倾情奉送:分布式服务框架和微服务设计原理实战文档,啃完发现涨薪如此简单

    前言 分布式服务框架不仅仅包含核心的运行时类库,还包括服务划分原则.服务化最佳实践.服务治理.服务监控.服务开发框架等,它是一套完整的解决方案,用来协助应用做服务化改造,以及指导用户如何构建适合自己业 ...

  5. Golang 微框架 Gin 简介

    Golang 微框架 Gin 简介 框架一直是敏捷开发中的利器,能让开发者很快的上手并做出应用,甚至有的时候,脱离了框架,一些开发者都不会写程序了.成长总不会一蹴而就,从写出程序获取成就感,再到精通框 ...

  6. Java微框架:不可忽视的新趋势--转载

    原文:http://www.infoq.com/cn/news/2015/06/Java-Spark-Jodd-Ninja?utm_campaign=infoq_content&utm_sou ...

  7. 深入学习微框架:Spring Boot

    Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程.该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置.通过 ...

  8. php框架所用到的核心概念,【PHP】PHP现代框架代表-Laravel框架核心技术特性

    一.php语言特点及发展现状 1.服务端脚本语言,自由度太大 ,一个业务逻辑可言写在模型里,控制器里,也可以单独封装成一个类,甚至可以嵌入到html里,这样势必会造成混乱,业务逻辑散落在各处,尤其对于 ...

  9. Iris微服务框架_golang web框架_完整示例Demo

    Iris简介 Iris是一款Go语言中用来开发web应用的框架,该框架支持编写一次并在任何地方以最小的机器功率运行,如Android.ios.Linux和Windows等.该框架只需要一个可执行的服务 ...

最新文章

  1. 利用jQuery和CSS实现环形进度条
  2. ios 使用gcd 显示倒计时
  3. MyBatis映射文件(二)
  4. 机器学习——支持向量机SVM实例(兵王问题,SVM求解步骤以及思路,不求解不编程)
  5. 将Java EE Monolith雕刻成微服务
  6. python回到初始位置_python之基础
  7. c语言,指针与数组--指针与二维数组2
  8. 用命令连接其他计算机名,如何使用命令连接远程桌面?
  9. 机械自动化与计算机专业,大学机械与自动化专业主要学什么
  10. 对JavaScript中的 事件 进行疯狂 处理
  11. 系统提供人民币(CNY)美元(USD)英镑(GBP)价值转换
  12. java判断英文符号_Java判断中英文符号、标点的实现
  13. 沉淀近900万+营销资产,天攻智投户外营销助力网易有道实现“品效双赢”
  14. iphone 中的大小和像素问题
  15. 装水问题,有一侧面看去是半圆的储水装置,该圆的半径为R,要求往水中装入高度为h的水,使水的面积s1与半圆的面积s2的比例为r ,求h (二分法的应用拓展)
  16. tensorflow框架精细讲解(一)
  17. 输入底面半径和高,求圆柱体的表面积
  18. 从零开始之uboot、移植uboot2017.01(七、board_init_r分析)
  19. Vue源码实现之watcher拾遗
  20. 【小组作业】电影院管理系统

热门文章

  1. 成长经历:浅谈OSINT认知
  2. NEC加入美国国土安全局AIS网络威胁信息官民共享体系
  3. 计算机输入法如何显示在桌面快捷方式,在桌面显示/隐藏输入法及输入法热键的设置...
  4. 【理财】3.富人思维
  5. 脉歌蓝牙耳机线评测_脉歌 TE-40 蓝牙耳机“升级线”体验
  6. 常见笔顺错误的字_笔画容易出错的字?
  7. EPICS驱动Newport XPS-Q8控制器
  8. 写给自己的python基础
  9. 一文了解2019年AI发展趋势,看完秒懂华为人工智能战略
  10. win10下的edge如何打开ie的兼容性视图?