跳转到内容

Laravel:修订间差异

轻之舟百科,让知识轻装启航
TeodoroSeccombe​(留言 | 贡献)
小 创建页面,内容为“。”
IdleTap-bot​(留言 | 贡献)
由旧格式Infobox转换为新参数格式(label/data),修复空信息框(由IdleTap-bot执行)
 
第1行: 第1行:
{{Infobox
{{Infobox
| 标题 = WebRTC
| title = Laravel
| 内容 =
{{!}}-
! 全称
{{!}} Web Real-Time Communication
{{!}}-
! 类型
{{!}} 开放标准 / 通信协议
{{!}}-
! 标准化机构
{{!}} W3C、IETF
{{!}}-
! 标准化时间
{{!}} 2021年1月(W3C Recommendation)
{{!}}-
! 首次开源
{{!}} 2011年5月
{{!}}-
! 开发者
{{!}} Google(初始)
{{!}}-
! 传输层
{{!}} UDP(RTP/DTLS)、TCP(信令)
{{!}}-
! 核心API
{{!}} getUserMedia、RTCPeerConnection、RTCDataChannel
}}


'''[[Web]]RTC'''(全称:Web Real-Time Communication)是一套由[[W3C]]与IETF联合标准化的开放技术框架,包含一组[[Java]]Script API及底层通信协议,支持[[浏览器]]与移动应用在不依赖插件的情况下实现点对点实时音视频通话与[[数据]]传输。<ref name=":0">[https://www.ietf.org/blog/webrtc-standardized/ WebRTC transforms the communications landscape as it becomes a W3C Recommendation and IETF standards - IETF Blog]</ref><ref name=":1">[https://sheerbit.com/webrtc-vs-voip-whats-the-difference/ WebRTC vs VoIP: What's the Difference? - Sheerbit Technologies]</ref> 该框架于2021年1月被W3C正式采纳为Recommendation,同时其协议栈被IETF确立为[[互联网]]标准,标志着WebRTC成为Web平台原生实时通信的基础性技术。<ref name=":0" />
| label1 = 中文名
| data1 = Laravel
 
| label2 = 英文名
| data2 = Laravel
 
| label3 = 开发者
| data3 = Taylor Otwell
 
| label4 = 首次发布
| data4 = 2011年6月<ref name="wiki-zh">[https://zh.wikipedia.org/wiki/Laravel Laravel - 维基百科,自由的百科全书]</ref>
 
| label5 = 当前版本
| data5 = 13.17.0(2026年6月23日)<ref name="wiki-zh" />
 
| label6 = 编程语言
| data6 = PHP
 
| label7 = 类型
| data7 = Web应用框架
 
| label8 = 许可协议
| data8 = MIT许可证<ref name="wiki-zh" />
 
| label9 = 网站
| data9 = [https://laravel.com laravel.com]
 
| label10 = 源代码库
| data10 = [https://github.com/laravel/framework GitHub]
}}'''Laravel''' 是一个由 Taylor Otwell 所建立、自由开源的 [[PHP]] Web 框架,旨在实现 Web [[软件]]的 MVC(模型-视图-控制器)[[架构]],并作为 CodeIgniter 的替代方案<ref name="[[wiki]]-zh" /><ref name="wiki-en">[[wikipedia:Laravel|Laravel - Wikipedia]]</ref>。其源代码托管于 GitHub,许可条款为 [[MIT 许可证]]<ref name="wiki-zh" /><ref name="wiki-en" />。Laravel 的特色包含支持[[用户]]身份验证和授权,具有模块化的包系统且有专属的包库,提供连接多种关系型[[数据]]库的方式,提供工具来协助应用程序的部署和维护,并且发展出许多语法糖<ref name="wiki-zh" /><ref name="wiki-en" />。Laravel 与 Symfony、Zend、CodeIgniter、Yii2 和其他框架一起被视为最受欢迎的 PHP 框架之一<ref name="wiki-zh" />。


== 历史 ==
== 历史 ==


WebRTC的技术根基可追溯至1990年代末成立的瑞典公司Global IP Solutions(GIPS),该公司专注于开发高鲁棒性的实时音视频编解码与网络传输引擎,其技术曾应用于Skype等早期VoIP产品。<ref name=":2">[https://blog.portaone.com/sip-is-dead-long-live-webrtc/ SIP Is Dead. Long Live WebRTC! - PortaOne]</ref> 2010年,[[Google]]以约6820万美元收购GIPS,同时收购了拥有VP8视频编解码技术的On2 Technologies。<ref name=":3">[https://cloudinary.com/guides/video-formats/vp8-vs-vp9-8-key-differences-and-how-to-choose VP8 vs. VP9: 8 Key Differences & How to Choose - Cloudinary]</ref><ref name=":2" />
=== 创立背景 ===
Taylor Otwell 创建 Laravel 的初衷,是为 CodeIgniter 框架提供一个更先进的替代方案,因为 CodeIgniter 缺少某些功能,例如对用户身份验证和授权的内置支持<ref name="wiki-en" /><ref name="infoq">[https://www.infoq.cn/article/9qWnFv1QnX1tYt1Yv1Y1 创始人拒绝投资 13 年、仅有几十人的开源项目斩获 81k+ GitHub star,用户破百万!网友:他一个人拯救了 PHP]</ref>。Otwell 当时是美国阿肯色州的一名 .NET 开发人员,在使用 CodeIgniter 时发现无法在不破坏框架内部代码的情况下添加所需功能,因此萌生了创建新框架的想法<ref name="modstart">[https://modstart.com/ Laravel 获得 5700 万美元融资,Web开发迎来新天地]</ref>。


2011年5月,Google将相关代码开源并正式提出WebRTC项目,同年IETF成立rtcweb工作组,W3C成立WebRTC工作组,两个标准化机构开始了长达十年的协同标准化工作。<ref name=":4">[https://www.forasoft.com/learn/video-streaming/articles-streaming/webrtc-explained WebRTC Explained Without Arcana - ForaSoft]</ref> 2013年,首个跨浏览器WebRTC视频通话演示成功。2021年1月26日,W3C与IETF联合宣布WebRTC成为正式标准,使其成为继插件时代终结后唯一 survived 的浏览器原生媒体传输标准。<ref name=":0" /><ref name=":4" />
=== 版本演进 ===
Laravel 的第一个 Beta 测试版本于 2011 年 6 月 9 日发布,并在一个月后发布了正式版本 Laravel 1<ref name="wiki-zh" /><ref name="wiki-en" />。Laravel 1 默认提供了身份验证、多语系、模型(Model)、视图(View)、会话(Session)、路由和其他机制,但缺少控制器,因此无法成为真正的 MVC 框架<ref name="wiki-zh" />。


== 技术架构 ==
Laravel 2 于 2011 年 9 月正式发布,由作者与社区提供了许多优化<ref name="wiki-zh" />。主要的新功能包括支持控制器(Controller),使 Laravel 2 成为真正的 MVC 框架,并且实现了控制反转(IoC),提供了模板引擎 Blade<ref name="wiki-zh" /><ref name="wiki-en" />。但同时也移除了对第三方包的支持<ref name="wiki-zh" /><ref name="wiki-en" />。


=== 核心API ===
Laravel 3 于 2012 年 2 月发布<ref name="wiki-en" />,带来的新功能包括:命令行界面(CLI)Artisan、支持多种[[数据库]]管理系统、提供迁移(Migration)为数据库做版本控制、支持事件(Event)的处理,以及封装系统 Bundles<ref name="wiki-zh" /><ref name="wiki-en" />。随着 Laravel 3 的发布,Laravel 的用户和受欢迎程度也随之增加<ref name="wiki-zh" />。


WebRTC在浏览器端通过三个核心[[JavaScript]] API暴露其功能。MediaStream API(又称getUserMedia)负责访问本地摄像头、麦克风及屏幕捕获设备,输出MediaStream对象供后续处理。<ref name=":1" /><ref name=":5">[https://dialiqo.com/how-webrtc-works-basics-real-time-peer-to-peer/ Understanding WebRTC: Real-Time Peer Communication - Dialiqo]</ref> R[[TCP]]eerConnection API管理点对点连接的完整生命周期,包括编解码协商、带宽自适应、丢包恢复、回声消除及加密握手等。<ref name=":1" /><ref name=":6">[https://www.shareviawifi.com/blog/how-webrtc-works-file-sharing How WebRTC Works for Peer-to-Peer File Sharing - Share Via WiFi]</ref> RTCDataChannel API则提供双向、低延迟的任意数据传输通道,支持可靠与不可靠两种传输模式,适用于实时游戏状态同步、文件传输及即时消息等场景。<ref name=":1" /><ref name=":5" />
Laravel 4,代号为 Illuminate,于 2013 年 5 月发布<ref name="wiki-zh" /><ref name="wiki-en" />。此版本将过去的代码完全重写,并分散到许多独立的包中,通过 [[Composer]] 进行管理(一个应用程序级别的包管理工具)<ref name="wiki-zh" /><ref name="wiki-en" />。这样的修改提高了 Laravel 4 的可扩展性<ref name="wiki-zh" />。其他特点包括:数据库的 Seeding(为数据库建置初始数据)、支持队列(Queue)、支持发送不同类型的电子邮件,并支持数据库的软删除<ref name="wiki-zh" />。


=== 协议栈 ===
Laravel 5 于 2015 年 2 月发布<ref name="wiki-zh" />。新的特点包括:提供周期性执行任务的调度器 Scheduler、提供一个抽象层 Flysystem 让远程与本地端的文件系统能有相同的操作方式、提供 Elixir 以管理静态资源,并提供了可简化串接 OAuth 登录的包 Socialite<ref name="wiki-zh" />。Laravel 5 也同时修改了目录结构<ref name="wiki-zh" />。Laravel 5.1 于 2015 年 6 月发布,是 Laravel 的第一个长期支持(LTS)版本<ref name="wiki-zh" />。


WebRTC的底层协议栈由IETF标准化。会话描述协议(SDP)用于在通信双方间交换媒体能力、编解码偏好及传输参数,遵循offer/answer模型。<ref name=":5" /> 交互式连接建立(ICE)框架负责在复杂网络环境下发现最优通信路径,其通过STUN[[服务器]]协助对等端发现公网IP地址与端口,并在直接连接不可行时借助TURN服务器中继媒体流量。<ref name=":6" /><ref name=":7">[https://www.videosdk.live/developer-hub/webrtc/webrtc-protocol WebRTC Protocol in 2025: The Backbone of Real-Time Peer-to-Peer Communication - VideoSDK]</ref> 所有媒体流均强制采用D[[TLS]]-SRTP进行端到端加密,其中DTLS用于密钥交换与身份验证,SRTP用于加密RTP媒体包,该加密机制为规范强制要求而非可选配置。<ref name=":1" />
Laravel 6 于 2019 年 9 月发布,提供了更好的性能和更多的安全性,同时增加了大量的新功能<ref name="yisu">[https://www.yisu.com/ask/61320255.html 框架Laravel有哪些版本迭代]</ref>。Laravel 7.0 于 2020 年 3 月发布,增加了如 Laravel Nova、Blade 组件等新功能<ref name="yisu" />。Laravel 8.0 于 2020 年 9 月发布,增加了类自动发现、路由[[缓存]]等新特性<ref name="yisu" />。Laravel 9 于 2022 年 2 月发布,要求 PHP 8.0 或更高版本<ref name="laravel-news">[https://laravel-news.com/ Laravel News]</ref>。Laravel 10 于 2023 年 2 月发布,要求 PHP 8.1 或更高版本<ref name="laravel-news" />。Laravel 11 于 2024 年 3 月发布,引入了更简洁的应用程序结构、健康路由、无加密的秒级限流等特性<ref name="laravel-news" /><ref name="yisu" />。


=== 信令机制 ===
=== 融资 ===
2024 年 9 月 5 日,Laravel 宣布从 Accel 获得了 5700 万美元的 A 轮融资<ref name="wiki-en" /><ref name="modstart" />。


WebRTC规范本身不定义信令协议,开发者可自行选择[[WebSocket]]、[[HTTP]]或SIP等传输方式完成初始握手。信令阶段需交换三类信息:会话控制消息、网络地址(ICE候选)及媒体元数据(SDP offer/answer)。<ref name=":5" /> 一旦ICE完成路径选择并建立安全通道,媒体与数据即可直接在peer间传输,信令服务器不再参与实际通信。<ref name=":8">[https://github.com/abhiram-ar/webRTC-from-scratch-to-scale GitHub - abhiram-ar/webRTC-from-scratch-to-scale]</ref>
== 设计 ==


== 安全性 ==
=== 架构 ===
Laravel 遵循 MVC(模型-视图-控制器)架构模式<ref name="wiki-zh" /><ref name="wiki-en" />。它基于 Symfony 框架的多个组件构建<ref name="wiki-en" />。


WebRTC从设计之初即将安全性作为核心原则。所有媒体流强制启用端到端加密,无法通过API禁用或降级。<ref name=":1" /> 浏览器在访问摄像头与麦克风前必须获得[[用户]]明确授权。此外,ICE候选收集过程可能暴露用户本地IP地址,引发隐私关切,现代浏览器已逐步采用mDNS候选替代私有IP地址以缓解该问题。<ref name=":8" />
=== 核心特性 ===
Laravel 的核心特性包括<ref name="wiki-zh" /><ref name="baike">[https://baike.baidu.com/item/laravel/5996666 Laravel - 百度百科]</ref>:


== 与VoIP的比较 ==
* **Eloquent ORM**:一个 ActiveRecord 实现,用于数据库交互,支持对关系双方应用约束并完整集成 Fluent 查询构造器的所有方法<ref name="baike" />。
* **Blade 模板引擎**:一个轻量级但功能强大的模板引擎,用于构建视图<ref name="wiki-zh" />。
* **Artisan 命令行工具**:提供了一系列用于自动化常见开发任务的命令,如数据库迁移、单元测试等<ref name="wiki-zh" /><ref name="baike" />。
* **路由系统**:灵活且富有表现力的路由定义方式,支持 RESTful 风格的路由定义、路由分组、中间件等<ref name="baike" />。
* **中间件(Middleware)**:允许开发者在请求和响应的生命周期中插入自定义逻辑,有助于实现身份验证、授权、缓存等功能<ref name="baike" />。
* **事件和监听器(Events & Listeners)**:提供了一个事件系统,允许开发者在特定事件发生时触发自定义逻辑,有助于实现解耦和可扩展的应用程序<ref name="baike" />。
* **服务容器(Service Container)**:一个用于依赖注入(DI)和依赖解析的工具<ref name="wiki-zh" />。
* **数据库迁移(Migrations)**:为数据库提供版本控制功能,便于团队协作和部署<ref name="wiki-zh" />。
* **队列(Queues)**:支持将耗时任务(如发送电子邮件)延迟处理,以提高应用程序的响应速度<ref name="wiki-zh" />。


WebRTC与传统VoIP技术存在显著差异。WebRTC为浏览器原生技术,无需安装插件或专用客户端,而传统VoIP通常依赖桌面应用或硬件终端。<ref name=":1" /> WebRTC基于开放标准且无授权费用,传统VoIP生态则常涉及SIP服务器、媒体网关及编解码许可等成本。<ref name=":1" /> 在[[架构]]上,WebRTC优先采用点对点直连以降低延迟与服务器负载,传统VoIP多采用集中式服务器架构。<ref name=":1" />
== 生态系统 ==
Laravel 拥有一个庞大且活跃的生态系统,包括官方和社区提供的各种工具和服务:


== 应用领域 ==
* **Laravel Forge**:[[服务器]]管理和部署工具,支持 AWS、DigitalOcean、Linode 等云平台<ref name="laravel">[https://laravel.com/ Laravel - The PHP Framework For Web Artisans]</ref>。
* **Laravel Vapor**:一个由 AWS Lambda 驱动的无服务器部署平台<ref name="laravel" />。
* **Laravel Nova**:一个用于构建管理面板的优雅工具<ref name="laravel" />。
* **Laravel Echo**:一个用于实时事件广播的 [[Java]]Script 库<ref name="laravel" />。
* **Laravel Socialite**:一个用于简化 OAuth 身份验证(如 Facebook、Twitter、[[Go]]ogle 登录)的包<ref name="wiki-zh" />。
* **Laravel Horizon**:一个用于监控和管理 [[Redis]] 队列的面板<ref name="laravel" />。
* **Laravel Telescope**:一个用于调试和监控应用程序的调试助手<ref name="laravel" />。
* **Laravel Dusk**:一个用于自动化[[浏览器]]测试的工具<ref name="laravel" />。


WebRTC已成为现代实时通信的基础设施。在视频会议领域,Google Meet、[[Microsoft]] Teams及Zoom的Web客户端均基于WebRTC构建。<ref name=":7" /> 在协作工具中,它支持文档协同编辑与屏幕共享。在物联网与远程医疗场景中,WebRTC为设备远程监控与实时健康数据传输提供低延迟通道。<ref name=":7" /> 此外,在线多人游戏、P2P文件传输、直播流媒体及客户支持嵌入式音视频通话等场景亦广泛采用该技术。<ref name=":9">[https://www.daydreamsoft.com/blog/webrtc-for-browser-based-multiplayer-games-building-real-time-gaming-experiences WebRTC for Browser-Based Multiplayer Games - Daydreamsoft]</ref><ref name=":10">[https://webrtc.ventures/2026/01/webrtc-tech-stack-guide-architecture-for-scalable-real-time-applications/ WebRTC Tech Stack Guide: Architecture for Scalable Real-Time Applications - WebRTC Ventures]</ref>
== 版本历史 ==
Laravel 的主要版本发布遵循年度发布周期(约在第一季度)<ref name="laravel-docs">[https://laravel.com/docs/releases Laravel Release Notes]</ref>。次要版本和补丁版本可能每周发布,且不包含破坏性变更<ref name="laravel-docs" />。对于所有 Laravel 版本,错误修复提供 18 个月,安全修复提供 2 年<ref name="laravel-docs" />。


== 扩展架构 ==
主要版本发布时间线如下<ref name="wiki-zh" /><ref name="wiki-en" /><ref name="yisu" />:


纯点对点WebRTC在多方会议场景中存在带宽瓶颈——每增加一个参与者,各端的上行带宽需求线性增长。为此,生产级应用通常引入媒体服务器扩展架构。<ref name=":10" /> 选择性转发单元(SFU)接收各参与者的媒体流后选择性转发给其他 peer,显著降低客户端带宽压力,支持数十至数百人规模的会议。<ref name=":8" /> 多点控制单元([[MC]]U)则将所有输入流混合为单一输出流,适用于传统视频会议终端兼容场景,但服务器计算开销较高。<ref name=":10" />
* Laravel 1 – 2011 年 6 月
* Laravel 2 – 2011 年 9 月
* Laravel 3 – 2012 年 2 月
* Laravel 4 – 2013 年 5 月
* Laravel 5 – 2015 年 2 月
* Laravel 6 – 2019 年 9 月
* Laravel 7 – 2020 年 3 月
* Laravel 8 – 2020 年 9 月
* Laravel 9 – 2022 年 2 月
* Laravel 10 – 2023 年 2 月
* Laravel 11 – 2024 年 3 月
 
== 社区 ==
Laravel 拥有一个庞大且活跃的[[全球]]开发者社区<ref name="baike" />。社区贡献了大量的扩展包、教程和文档<ref name="baike" />。Laravel 的文档被认为是最全面、最易于学习的现代 Web 应用框架文档之一<ref name="baike" />。


== 参考文献 ==
== 参考文献 ==
<references />
<references />

2026年8月11日 (二) 10:18的最新版本

Laravel
中文名Laravel
英文名Laravel
开发者Taylor Otwell
首次发布2011年6月[1]
当前版本13.17.0(2026年6月23日)[1]
编程语言PHP
类型Web应用框架
许可协议MIT许可证[1]
网站laravel.com
源代码库GitHub

Laravel 是一个由 Taylor Otwell 所建立、自由开源的 PHP Web 框架,旨在实现 Web 软件的 MVC(模型-视图-控制器)架构,并作为 CodeIgniter 的替代方案[2][3]。其源代码托管于 GitHub,许可条款为 MIT 许可证[1][3]。Laravel 的特色包含支持用户身份验证和授权,具有模块化的包系统且有专属的包库,提供连接多种关系型数据库的方式,提供工具来协助应用程序的部署和维护,并且发展出许多语法糖[1][3]。Laravel 与 Symfony、Zend、CodeIgniter、Yii2 和其他框架一起被视为最受欢迎的 PHP 框架之一[1]。

创立背景

[编辑 | 编辑源代码]

Taylor Otwell 创建 Laravel 的初衷,是为 CodeIgniter 框架提供一个更先进的替代方案,因为 CodeIgniter 缺少某些功能,例如对用户身份验证和授权的内置支持[3][4]。Otwell 当时是美国阿肯色州的一名 .NET 开发人员,在使用 CodeIgniter 时发现无法在不破坏框架内部代码的情况下添加所需功能,因此萌生了创建新框架的想法[5]。

版本演进

[编辑 | 编辑源代码]

Laravel 的第一个 Beta 测试版本于 2011 年 6 月 9 日发布,并在一个月后发布了正式版本 Laravel 1[1][3]。Laravel 1 默认提供了身份验证、多语系、模型(Model)、视图(View)、会话(Session)、路由和其他机制,但缺少控制器,因此无法成为真正的 MVC 框架[1]。

Laravel 2 于 2011 年 9 月正式发布,由作者与社区提供了许多优化[1]。主要的新功能包括支持控制器(Controller),使 Laravel 2 成为真正的 MVC 框架,并且实现了控制反转(IoC),提供了模板引擎 Blade[1][3]。但同时也移除了对第三方包的支持[1][3]。

Laravel 3 于 2012 年 2 月发布[3],带来的新功能包括:命令行界面(CLI)Artisan、支持多种数据库管理系统、提供迁移(Migration)为数据库做版本控制、支持事件(Event)的处理,以及封装系统 Bundles[1][3]。随着 Laravel 3 的发布,Laravel 的用户和受欢迎程度也随之增加[1]。

Laravel 4,代号为 Illuminate,于 2013 年 5 月发布[1][3]。此版本将过去的代码完全重写,并分散到许多独立的包中,通过 Composer 进行管理(一个应用程序级别的包管理工具)[1][3]。这样的修改提高了 Laravel 4 的可扩展性[1]。其他特点包括:数据库的 Seeding(为数据库建置初始数据)、支持队列(Queue)、支持发送不同类型的电子邮件,并支持数据库的软删除[1]。

Laravel 5 于 2015 年 2 月发布[1]。新的特点包括:提供周期性执行任务的调度器 Scheduler、提供一个抽象层 Flysystem 让远程与本地端的文件系统能有相同的操作方式、提供 Elixir 以管理静态资源,并提供了可简化串接 OAuth 登录的包 Socialite[1]。Laravel 5 也同时修改了目录结构[1]。Laravel 5.1 于 2015 年 6 月发布,是 Laravel 的第一个长期支持(LTS)版本[1]。

Laravel 6 于 2019 年 9 月发布,提供了更好的性能和更多的安全性,同时增加了大量的新功能[6]。Laravel 7.0 于 2020 年 3 月发布,增加了如 Laravel Nova、Blade 组件等新功能[6]。Laravel 8.0 于 2020 年 9 月发布,增加了类自动发现、路由缓存等新特性[6]。Laravel 9 于 2022 年 2 月发布,要求 PHP 8.0 或更高版本[7]。Laravel 10 于 2023 年 2 月发布,要求 PHP 8.1 或更高版本[7]。Laravel 11 于 2024 年 3 月发布,引入了更简洁的应用程序结构、健康路由、无加密的秒级限流等特性[7][6]。

2024 年 9 月 5 日,Laravel 宣布从 Accel 获得了 5700 万美元的 A 轮融资[3][5]。

Laravel 遵循 MVC(模型-视图-控制器)架构模式[1][3]。它基于 Symfony 框架的多个组件构建[3]。

核心特性

[编辑 | 编辑源代码]

Laravel 的核心特性包括[1][8]:

  • **Eloquent ORM**:一个 ActiveRecord 实现,用于数据库交互,支持对关系双方应用约束并完整集成 Fluent 查询构造器的所有方法[8]。
  • **Blade 模板引擎**:一个轻量级但功能强大的模板引擎,用于构建视图[1]。
  • **Artisan 命令行工具**:提供了一系列用于自动化常见开发任务的命令,如数据库迁移、单元测试等[1][8]。
  • **路由系统**:灵活且富有表现力的路由定义方式,支持 RESTful 风格的路由定义、路由分组、中间件等[8]。
  • **中间件(Middleware)**:允许开发者在请求和响应的生命周期中插入自定义逻辑,有助于实现身份验证、授权、缓存等功能[8]。
  • **事件和监听器(Events & Listeners)**:提供了一个事件系统,允许开发者在特定事件发生时触发自定义逻辑,有助于实现解耦和可扩展的应用程序[8]。
  • **服务容器(Service Container)**:一个用于依赖注入(DI)和依赖解析的工具[1]。
  • **数据库迁移(Migrations)**:为数据库提供版本控制功能,便于团队协作和部署[1]。
  • **队列(Queues)**:支持将耗时任务(如发送电子邮件)延迟处理,以提高应用程序的响应速度[1]。

生态系统

[编辑 | 编辑源代码]

Laravel 拥有一个庞大且活跃的生态系统,包括官方和社区提供的各种工具和服务:

  • **Laravel Forge**:服务器管理和部署工具,支持 AWS、DigitalOcean、Linode 等云平台[9]。
  • **Laravel Vapor**:一个由 AWS Lambda 驱动的无服务器部署平台[9]。
  • **Laravel Nova**:一个用于构建管理面板的优雅工具[9]。
  • **Laravel Echo**:一个用于实时事件广播的 JavaScript 库[9]。
  • **Laravel Socialite**:一个用于简化 OAuth 身份验证(如 Facebook、Twitter、Google 登录)的包[1]。
  • **Laravel Horizon**:一个用于监控和管理 Redis 队列的面板[9]。
  • **Laravel Telescope**:一个用于调试和监控应用程序的调试助手[9]。
  • **Laravel Dusk**:一个用于自动化浏览器测试的工具[9]。

版本历史

[编辑 | 编辑源代码]

Laravel 的主要版本发布遵循年度发布周期(约在第一季度)[10]。次要版本和补丁版本可能每周发布,且不包含破坏性变更[10]。对于所有 Laravel 版本,错误修复提供 18 个月,安全修复提供 2 年[10]。

主要版本发布时间线如下[1][3][6]:

  • Laravel 1 – 2011 年 6 月
  • Laravel 2 – 2011 年 9 月
  • Laravel 3 – 2012 年 2 月
  • Laravel 4 – 2013 年 5 月
  • Laravel 5 – 2015 年 2 月
  • Laravel 6 – 2019 年 9 月
  • Laravel 7 – 2020 年 3 月
  • Laravel 8 – 2020 年 9 月
  • Laravel 9 – 2022 年 2 月
  • Laravel 10 – 2023 年 2 月
  • Laravel 11 – 2024 年 3 月

Laravel 拥有一个庞大且活跃的全球开发者社区[8]。社区贡献了大量的扩展包、教程和文档[8]。Laravel 的文档被认为是最全面、最易于学习的现代 Web 应用框架文档之一[8]。

参考文献

[编辑 | 编辑源代码]