竟然有人质疑我还在用Laravel开发?别忘了PHP是最好的

这是我参与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 语法定义控制器路由:

use App\Http\Controllers\UserController;

Route::get('/users', [UserController::class, 'index']);
复制代码

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

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 ,一起学习。