Skip to content

Laravel 8 新特性:Artisan serve 改进、Tailwind 分页视图、路由命名空间更新 ​

这是我参与8月更文挑战的第6天,活动详情查看:8月更文挑战

之前写了一篇Laravel提高DB查询效率的文章,转发到群里后竟然有人质疑我说“Laravel是他好几年前用的框架,没想到现在还有人在用。”

纳尼,什么意思嘛?别忘了PHP是最好的语言!

个人认为Laravel是非常优雅的开发框架:优雅的设计模式、强大的功能实现、各种方便的扩展、持续的版本更新,更主要的是迄今为止我认为最优秀的技术开发社区。

我必须为Laravel打Call。

2020年9月8号,Laravel发布了8.0版本。 Laravel计划于2022年1月25日发布9.0版本。

下面我介绍一下目前Laravel最新版(8.0版本)的新特性:

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

今天重点介绍 Artisan serve 改进、Tailwind 分页视图、路由命名空间更新。

Artisan serve 改进 ​

当在本地 .env 文件中检测到环境变量被修改时 Artisan serve 命令自动重新加载。以前,该命令必须手动停止和重启。

Tailwind 分页视图 ​

Laravel 分页器已更新为默认使用 Tailwind CSS 框架。 Tailwind CSS 是一个高度可定制的低等级 CSS 框架,它为你提供了构建定制设计所需的所有构造块,而无需你烦恼地重写任何烦人的自以为是的样式。当然,Bootstrap 3 和 4 视图仍然可用。

路由命名空间更新 ​

在 Laravel 的早期版本中,RouteServiceProvider 具有 $namespace 属性。该属性的值将自动添加到控制器路由定义的前缀,并调用 action 助手函数或者 URL::action 方法。在 Laravel 8.x 中,默认情况下此属性为 null。这意味着 Laravel 不会自动命名空间前缀。因此,在新的 Laravel 8.x 应用程序中,应使用标准的 PHP 语法定义控制器路由:

php
use App\Http\Controllers\UserController; Route::get('/users', [UserController::class, 'index']);

对与 action 相关的方法的调用应使用相同的调用语法:

kotlin
action([UserController::class, 'index']); return Redirect::action([UserController::class, 'index']);

如果你更喜欢 Laravel 7.x 那种控制器的路由前缀,则可以简单地将 $namespace 属性添加到应用程序的 RouteServiceProvider 中。

华丽的分割线 ​

要了解更多有关在Laravel的知识点,请查看我的专栏: 服务端开发从入门到精通

推荐阅读 ​

  1. 竟然有人质疑我还在用Laravel开发?别忘了PHP是最好的语言。(1)Laravel如何优雅的设置全局变量

  2. 竟然有人质疑我还在用Laravel开发?别忘了PHP是最好的语言。(2)Laravel Jetstream和模型工厂类

  3. 竟然有人质疑我还在用Laravel开发?别忘了PHP是最好的语言。(3)迁移压缩,队列批处理,改善速率限制

  4. 竟然有人质疑我还在用Laravel开发?别忘了PHP是最好的语言。(4)维护模式优化

  5. # 竟然有人质疑我还在用Laravel开发?别忘了PHP是最好的语言。(5) 动态Blade 事件监听器优化 事件测试助手

Last but not least ​

技术交流群请到 这里来。 或者添加我的微信 wangzhongyang0601 ,一起学习。

AI 应用开发训练营 · 现在开始

别只收藏 AI 文章,今天就做出第一个能上线的项目

文章解决认知,项目才证明能力。把 Agent、RAG、MCP 变成可运行、可展示、可面试表达的成果,现在就从一次岗位准备度自测开始。

立即开始 AI 岗位准备度自测 查看训练营路线
真实学员成果先看成果,再决定是否开始 →
  1. 01选方向
  2. 02做项目
  3. 03出成果
  4. 04拿面试