php lumen 框架优点,微框架Lumen 特性
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 特性相关推荐
- php yii框架优点,yii框架有什么优势
Yii是一个优秀的使用非常广泛适合开发PHP大型项目的架构,以下是青锋建产给大家分享的yii框架的简介,特点.优势.系统要求. Yii 是什么 Yii 是一个高性能,基于组件的 PHP 框架,用于快速 ...
- python flask框架优点_flask框架有什么用
Flask框架的特点 1.轻巧 2.简洁 3.扩展性强(个人认为最重要的特点) 4.核心(werkzeug和jinja2)jinja2就是指模板引擎. Flask确实很"轻",不愧 ...
- lumen php版本,PHP微框架 Lumen 使用全纪录
lumen.jpeg 本文将介绍Lumen的使用和遇到的问题,重点是官方文档中没太详细介绍的内容,不定期更新. Lumen框架使用Laravel模块构建而成. 与Laravel臃肿不同,Lumen是微 ...
- 华为18级大牛倾情奉送:分布式服务框架和微服务设计原理实战文档,啃完发现涨薪如此简单
前言 分布式服务框架不仅仅包含核心的运行时类库,还包括服务划分原则.服务化最佳实践.服务治理.服务监控.服务开发框架等,它是一套完整的解决方案,用来协助应用做服务化改造,以及指导用户如何构建适合自己业 ...
- Golang 微框架 Gin 简介
Golang 微框架 Gin 简介 框架一直是敏捷开发中的利器,能让开发者很快的上手并做出应用,甚至有的时候,脱离了框架,一些开发者都不会写程序了.成长总不会一蹴而就,从写出程序获取成就感,再到精通框 ...
- Java微框架:不可忽视的新趋势--转载
原文:http://www.infoq.com/cn/news/2015/06/Java-Spark-Jodd-Ninja?utm_campaign=infoq_content&utm_sou ...
- 深入学习微框架:Spring Boot
Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程.该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置.通过 ...
- php框架所用到的核心概念,【PHP】PHP现代框架代表-Laravel框架核心技术特性
一.php语言特点及发展现状 1.服务端脚本语言,自由度太大 ,一个业务逻辑可言写在模型里,控制器里,也可以单独封装成一个类,甚至可以嵌入到html里,这样势必会造成混乱,业务逻辑散落在各处,尤其对于 ...
- Iris微服务框架_golang web框架_完整示例Demo
Iris简介 Iris是一款Go语言中用来开发web应用的框架,该框架支持编写一次并在任何地方以最小的机器功率运行,如Android.ios.Linux和Windows等.该框架只需要一个可执行的服务 ...
最新文章
- 利用jQuery和CSS实现环形进度条
- ios 使用gcd 显示倒计时
- MyBatis映射文件(二)
- 机器学习——支持向量机SVM实例(兵王问题,SVM求解步骤以及思路,不求解不编程)
- 将Java EE Monolith雕刻成微服务
- python回到初始位置_python之基础
- c语言,指针与数组--指针与二维数组2
- 用命令连接其他计算机名,如何使用命令连接远程桌面?
- 机械自动化与计算机专业,大学机械与自动化专业主要学什么
- 对JavaScript中的 事件 进行疯狂 处理
- 系统提供人民币(CNY)美元(USD)英镑(GBP)价值转换
- java判断英文符号_Java判断中英文符号、标点的实现
- 沉淀近900万+营销资产,天攻智投户外营销助力网易有道实现“品效双赢”
- iphone 中的大小和像素问题
- 装水问题,有一侧面看去是半圆的储水装置,该圆的半径为R,要求往水中装入高度为h的水,使水的面积s1与半圆的面积s2的比例为r ,求h (二分法的应用拓展)
- tensorflow框架精细讲解(一)
- 输入底面半径和高,求圆柱体的表面积
- 从零开始之uboot、移植uboot2017.01(七、board_init_r分析)
- Vue源码实现之watcher拾遗
- 【小组作业】电影院管理系统
热门文章
- 成长经历:浅谈OSINT认知
- NEC加入美国国土安全局AIS网络威胁信息官民共享体系
- 计算机输入法如何显示在桌面快捷方式,在桌面显示/隐藏输入法及输入法热键的设置...
- 【理财】3.富人思维
- 脉歌蓝牙耳机线评测_脉歌 TE-40 蓝牙耳机“升级线”体验
- 常见笔顺错误的字_笔画容易出错的字?
- EPICS驱动Newport XPS-Q8控制器
- 写给自己的python基础
- 一文了解2019年AI发展趋势,看完秒懂华为人工智能战略
- win10下的edge如何打开ie的兼容性视图?