Laravel 5.6 正式发布(文档翻译工作将在春节后启动)
85

file

Laravel 5.6

Laravel 5.6正式成为laravel框架的的下一个版本! 这个版本有很多新的功能,我们主要在这里介绍比较重要的.更多详细的变更列表请访问changelog(GitHub).

日志改进

在laravel 5.6版本中最大的特点是日志记录的改进。
对于初学者来说,5.6版本的日志记录配置从config / app.php文件移动到config / logging.php

您可以配置日志消息发送到多个处理程序的“进程”。
例如,您可能会将所有调试信息发送到系统日志,并将错误日志发送到冗余。

阅读相关配置和自定义日志请访问下面这个链接 logging documentation.

单个服务器调度

如果你有一个任务调度运行在多个服务器上,此任务可以运行在任意一个服务器.你还可以用‘onOneServer()’这方法指定这个任务运行在这些服务器的任意一个之中

$schedule->command('report:generate')
    ->fridays()
    ->at('17:00')
    ->onOneServer();

注意:你必须使用 memcached 或者 redis 缓存驱动作为默认的缓存驱动.这样才可以使用laravel5.6版本的单个服务器任务调度.

动态访问限制

Laravel 5.6 指出 dynamic rate limiting 可以给你更多的灵活性和针对单个用户的访问限制:

Route::middleware('auth:api', 'throttle:rate_limit,1')
    ->group(function () {
        Route::get('/user', function () {
            //
        });
    });

在上面的例子,  rate_limit 属于 App\User 模型中的一个属性 ,用于指定特定的时间内允许的访问次数.

广播频道类

你现在可以在 routes/channels.php 中使用 channel 类而不是使用 closures 了。

要创建一个 channel 类,Laravel 5.6 提供了一个新的 make:channel 命令:

php artisan make:channel OrderChannel

你可以在 routes/channels.php 像下面这样注册你的 channel:

use App\Broadcasting\OrderChannel;

Broadcast::channel('order.{order}', OrderChannel::class);

生成 API 资源控制器

你现在可以为 APIs 生成一个资源控制器了,它会去掉不必要的 create 和 edit 方法,因为这两个方法只适用于返回 HTML 页面, 如需要生成资源控制器,只需像下面这样在后面添加 --api :

php artisan make:controller API/PhotoController --api

Eloquent 日期的创建

您可以单独自定义日期或时间被创建的格式:

protected $casts = [
    'birthday' => 'date:Y-m-d',
    'joined_at' => 'datetime:Y-m-d H:00',
];

这种格式适用于模型序列化成数组或json数据。

Blade 组件别名

如果你的 Blade 组件存放在子目录中,现在起可以为它们起个别名以便使用。例如,假设一个 Blade 组件存放在 resources/views/components/alert.blade.php,你可以使用 component 方法将这个组件名从 components.alert 改为别名 alert:

Blade::component('components.alert', 'alert');

组件起了别名之后,就可以使用别名来渲染:

@component('alert')
    <p>This is an alert component</p>
@endcomponent

Argon2 密码哈希

如果你在构建一个基于PHP7.2以上的应用的话,那么Laravel 5.6支持一种新的密码哈希算法规则。默认的应用哈希驱动通过新增的 config/hashing.php 配置文件来控制。

你可以在我们的文章中学习到更多的关于Laravel 5.6 Argon2 密码哈希算法的内容(https://laravel-news.com/laravel-agron2i).

UUID 方法

Illuminate\Support\Str 类中引入了两个新的生成唯一UUID的方法
引入了两个新的方法来生成 UUID。

// 两个方法都会返回 Ramsey\Uuid\Uuid 对象:
return (string) Str::uuid();

return (string) Str::orderedUuid();

orderedUuid 方法会生成一个时间戳最靠前的UUID,通过诸如 MySQL 的数据库来索引,更简单,也更高效。

错误提示

我们最近写了一篇文章,关于在CLI中的错误提示信息包: Collision coming to Laravel 5.6,并将这个包加入了 dev 依赖中。它可以在控制台输出漂亮的错误提示信息:

Collision Package in Laravel 5.6

Bootstrap 4

在5.6中所有前端脚手架和示例 Vue 组件全都使用的Bootstrap 4。在测试版中,我们已经完全覆盖使用了Bootstrap 4,甚至还创建了一个为Laravel提供的预置。很高兴在将来能够看到 Laravel 5.6 和 Bootstrap 4 友谊的小船稳定航行下去!

学习更多关于Laravel5.6

升级你的laravel到5.6版本, 参考upgrade guide. Laravel 致力于使你的应用程式在版本之间更新花费更少的时间. 5.5 更新到5.6估计要花费10-30分钟. 显然,这个得根据你的项目应用程式来判断.


Practice makes perfect.

原文地址:https://laravel-news.com/laravel-5-6

译文地址:https://laravel-china.org/topics/8030/of...

本帖已被设为精华帖!
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
讨论数量: 8

厉害了,不到一小时就翻译完了. :+1:

8个月前
朕略显ぼうっと萌

最下面的图片显示不出来

8个月前

还是本社区的界面看着舒服

8个月前

喜大普奔,马上更新下看看。

8个月前

先恶补一下bs4。

8个月前
hihuangwei

已成功升级到 Laravel 5.6

8个月前

简直漂亮~

8个月前
wangwei4611

您好,Summer大神,Laravel5.6已发布,请问API认证是选择Laravel Passport还是Dingo/Api+JWT?请指教!

8个月前

  • 请注意单词拼写,以及中英文排版,参考此页
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`, 更多语法请见这里 Markdown 语法
  • 支持表情,使用方法请见 Emoji 自动补全来咯,可用的 Emoji 请见 :metal: :point_right: Emoji 列表 :star: :sparkles:
  • 上传图片, 支持拖拽和剪切板黏贴上传, 格式限制 - jpg, png, gif
  • 发布框支持本地存储功能,会在内容变更时保存,「提交」按钮点击时清空
  请勿发布不友善或者负能量的内容。与人为善,比聪明更重要!