Laravel 基础教程

Laravel 笔记

Laravel 基础教程


Laravel 是一个由 Taylor Otwell 所创建,且免费的开源 PHP Web 框架,旨在实现的 Web 软件的 MVC 架构,并作为 CodeIgniter 的替代方案。其源代码托管于 GitHub,许可条款为 MIT 许可证。

特点

功能特点

  • 语法更富有表现力;
  • 高质量的文档;
  • 丰富的扩展包;

技术特点

  • Laravel 的扩展包仓库已经相当成熟了,可以很容易的帮你把扩展包(bundle)安装到你的应用中;
  • 应用逻辑(Application Logic)可以在控制器(Controllers)中实现,也可以直接集成到路由(routes)声明中,并且语法和 Sinatra 框架类似;
  • 反向路由(Reverse Routing)赋予你通过路由(routes)名称创建链接(URI)的能力;
  • Restful 控制器(Restful Controllers)是一项区分 GET 和 POST 请求逻辑的可选方式;
  • 自动加载类(Class Auto-loading)简化了类(class)的加载工作,以后就可以不用去维护自动加载配置表和非必须的组件加载工作了;
  • 视图组装器(View Composers)本质上就是一段代码,这段代码在视图(View)加载时会自动执行;
  • 反向控制容器(IoC container)提供了生成新对象、随时实例化对象、访问单例(singleton)对象的便捷方式;
  • 迁移(Migrations)就像是版本控制(version control)工具,不过,它管理的是数据库范式,并且直接集成在了 Laravel 中;
  • 单元测试(Unit-Testing)是 Laravel 中很重要的部分;
  • 自动分页(Automatic Pagination)功能避免了在你的业务逻辑中混入大量无关分页配置代码。

历史版本

Laravel 1

Laravel 在 2011 年 6 月 9 日发布了第一个 Beta 测试版本,并在一个月后发布正式版本 Laravel 1。Laravel 1 默认提供了身份验证、多语系、Model(MVC)、view、session、路由和其他机制,但缺少控制器,以至于无法成为一个真正的 MVC 框架。

Laravel 2

2011 年 9 月正式发布,并由作者与社群提供了许多优化。主要的新功能包括支持 controller,使 Laravel 2 成为真正的 MVC 框架,并且实现了 控制反转(IoC),和提供样版引擎 blade。但同时也带来一个缺点:移除了第三方包的支持。

Laravel 3

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

Laravel 4

代号为 Illuminate,于 2013 年发布。此版本将过去的代码全部重写,并将各自分散许多的包中,并透过 Composer 管理(一个应用程序等级的包管理工具 )。这样的修改提高了 Laravel 4 的可扩展性,搭配其官方的六个月的小数点版本的发布项目。其他 Laravel 4的特点包括:数据库的 seeding (为数据库建置初始的资料),支持队列(queue),支持发送不同类型的电子邮件,并支持数据库的 软删除。

Laravel 5

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

Laravel 5.1

2015 年 6 月发布,是 Laravel 的第一个 长期支持版本(LTS),并项目提供两年的错误修正和三年的安全性更新。同时也预计未来每两年会发布一次新的 LTS 版本。

Laravel 5.3

于 2016 年 8 月 23 日发布。此版本着重在协助用户加速开发,并提供了优化开发流程的工具。

Laravel 5.4

2017 年 1 月 24 日发布。此版本提供了许多新功能,像 Laravel Dusk,Laravel Mix,Components & Slots(Blade),Markdown Emails,自动 Facades、路由的优化,collection 的高端函数,还有很多其他功能。

Laravel 6.0

2019 年 9 月 3 日发布。引入语义化版本控制,兼容 Laravel Vapor,优化许可响应、Job Middleware、Lazy Collections 和 Sub-query 等功能。移除默认的前端脚手架,并转移至 Laravel UI 包。

Laravel 7.0

2020 年 3 月 3 日发布。加入Laravel Sanctum为SPA(单页应用)、手机应用等提供API token的生成和管理功能,及Stub Customization、Custom Eloquent Casts、Blade Component Tags、基于Guzzle改进的HTTP Client、Fluent String Operations、CORS Support、Query Time Casts、Multiple Mail Drivers等功能,这个版本也改善了路由绑定和缓存的性能,并为Artisan 加入了test指令。

Laravel 8.0

2020 年 9 月 8 日发布。Laravel 8 通过引入 Laravel Jetstream、模型工厂类、迁移压缩、队列批处理、改善速率限制、队列改进、动态Blade组件、Tailwind标签页视图、时间测试助手、artisan serve的改进、事件监听器的改进,以及各种其他错误修复和可用性改进,对Laravel 7.x继续进行了改善。