laravel5.6 php,Laravel 5.6 版本正式发布

Laravel 5.6 是继 5.5 之后 Laravel 官方发布的最新版本。此版本包含众多新特性,接下来我们说一说几个重要的特性。如需查看完成的发布日志,请点击这里。

改进日志

Laravel 5.6 版本中最重要的特性就是日志功能的改进。对于 Laravel 新手请注意,Laravel 5.6 的日志配置文件从 config/app.php 变更到了 config/logging.php。

你可以通过配置 stack 从而将日志发送到不同的处理器中。例如,你可能需要将 debug 日志发送到 system log,而 error 日志发送到 slack。

关于配置和定制日志的更多信息请参考日志相关的文档。

单服务器任务调度

如果你在多台服务器上都运行着任务调度器,那么你所发出的任务就会在每台服务器上执行。通过 onOneServer() 方法可以指定任务具体运行在哪一台服务器上。$schedule->command('report:generate')

->fridays()

->at('17:00')

->onOneServer();

注意:在 Laravel 5.6 版本中必须使用 memcached 或 redis 缓存驱动作为默认缓存驱动才能获得单服务器任务调度的优势。

动态限速

Laravel 5.6 引入了动态限速功能,为你带来更多弹性的同时也让针对单个用户的限速更简单:Route::middleware('auth:api', 'throttle:rate_limit,1')

->group(function () {

Route::get('/user', function () {

//

});

});

上述实例中,rate_limit 是 App\User 模型(model)的一个属性(attribute),用于确定某时间段内允许的请求次数。

广播频道(Broadcast Channel) 类

现在可以在 routes/channels.php 文件中使用 channel 类了。

Laravel 5.6 提供了一个新的 make:channel 命令用于辅助生成一个新的 channel 类:php artisan make:channel OrderChannel

在 routes/channels.php 文件中注册 channel 类就像下面这样简单:use App\Broadcasting\OrderChannel;

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

生成 API 控制器(Controller)

现在你可以为无需 create 和 edit 方法的 API 生成一个资源控制器,这一便利途径仅仅针对返回 HTML 的资源控制器。在命令行末尾添加 --api 参数即可生成资源控制器:php artisan make:controller API/PhotoController --api

Eloquent 日期格式

在 Laravel 5.6 中可以分别为 Eloquent date 和 datetime 指定格式了:protected $casts = [

'birthday' => 'date:Y-m-d',

'joined_at' => 'datetime:Y-m-d H:00',

];

此格式用于将模型(model)序列化为数组或 JSON 数据。

Blade 组件别名

在 Laravel 5.6 中你可以为 blade 组件创建别名以方便引用。例如,如果你在 resources/views/components/alert.blade.php 文件中保存了一个 blade 组件,你就可以利用 component() 方法为其创建一个更短的别名:Blade::component('components.alert', 'alert');

然后你就可以通过别名引用此组件并输出了:@component('alert')

This is an alert component

@endcomponent

Argon2 密码哈希

Laravel 5.6 针对 PHP 7.2+ 支持新的散哈希法。你可以在 config/hashing.php 配置文件中指定默认使用的哈希算法。

UUID 方法

Illuminate\Support\Str 类中新增了两个方法用于生成 UUID(Universal Unique Identifiers):// The methods return a Ramsey\Uuid\Uuid object

return (string) Str::uuid();

return (string) Str::orderedUuid();

The orderedUuid() 方法用于生成一个时间戳开头的 UUID 便于更有效的数据库索引。

Collision 美化错误报告

我们最近开发了 Collision 包并将其作为 Laravel 5.6 的开发依赖(dev dependency)。Collision 能够提供美观的错误报告并输出到控制台。截图如下:

da4f2f166a4dc655ada79d2654406205.png

Bootstrap 4

所有前端脚手架和 Vue 组件实例全部基于 Bootstrap 4 了。从 Bootstrap 4 beta 版本开始我们就已经跟进了,甚至创建了 Bootstrap 4 Laravel preset。现在,Laravel 5.6 默认搭配了 Bootstrap 4 稳定版。

了解更多 Laravel 5.6 相关信息

如需将你的项目升级到 Larvel v5.6 ,请参考升级指南。Laravel 一直努力降低主版本升级的复杂度。从 5.5 升级到 5.6 大约需要 10-30 分钟,当然也要看你的项目的复杂度了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
laravel5.6版本完整下载。 简介 为了帮助你了解更多关于应用中所发生的事情,Laravel 提供了强大的日志服务来记录日志信息到文件、系统错误日志、甚至是 Slack 以便通知整个团队。 在日志引擎之下,Laravel 集成了 Monolog 日志库以便提供各种功能强大的日志处理器,从而允许你通过它们来定制自己应用的日志处理。 配置 应用日志系统的所有配置都存放在配置文件 config/logging.php 中,该文件允许你配置应用的日志频道,因此请务必查看每个可用频道及其配置项。下面我们就来看看其中某些配置项。 默认情况下,Laravel 使用 stack 频道来记录日志信息,stack 频道被用于聚合多个日志频道到单个频道,更多关于构建 stack 的信息,请查看下面的文档。 配置频道名称 默认情况下,Monolog 通过与当前环境匹配的「频道名」实例化,例如 production 或 local,要改变这个值,添加 name 项到频道配置: 'stack' => [ 'driver' => 'stack', 'name' => 'channel-name', 'channels' => ['single', 'slack'], ], 配置 Slack 频道 slack 频道需要一个 url 配置项,这个 URL 需要和你配置的 Slack 团队请求 URL 相匹配。 构建日志堆栈 如上所述,stack 驱动允许你将多个频道合并到单个日志频道,为了说明如何实现,让我们看一个你可能在生产环境中看到的示例配置: 'channels' => [ 'stack' => [ 'driver' => 'stack', 'channels' => ['syslog', 'slack'], ], 'syslog' => [ 'driver' => 'syslog', 'level' => 'debug', ], 'slack' => [ 'driver' => 'slack', 'url' => env('LOG_SLACK_WEBHOOK_URL'), 'username' => 'Laravel Log', 'emoji' => ':boom:', 'level' => 'critical', ], ], 我们来剖析这个配置。首先,注意 stack 频道通过 channels 项将聚合了其他两个频道:syslog 和 slack。因此,记录日志信息时,这两个频道都有机会记录信息。 日志级别 注意上述示例中 syslog 和 slack 频道配置中出现的 level 配置项,这个配置项决定了日志信息被频道记录所必须达到的最低「级别」。为 Laravel 提供日志服务的 Monolog,支持定义在 RFC 5424规范中的所有日志级别:emergency、alert、critical、error、warning、 notice、info 和 debug。 因此,假设我们使用 debug 方法来记录日志信息: Log::debug('An informational message.'); 鉴于我们的配置,syslog 频道将会将信息记录到系统日志;不过,由于错误消息不是 critical 或更高级别,将不会发送到 Slack。但是,如果我们记录的是 emergency 级别的信息,就会被发送到系统日志和 Slack,因为 emergency 级别高于两个频道的最低级别门槛: Log::emergency('The system is down!'); 写入日志信息 你可以使用 Log 门面记录日志信息,如上所述,日志系统提供了定义在 RFC 5424 规范中的八种日志级别:emergency、alert、critical、error、warning、 notice、info 和 debug: Log::emergency($error); Log::alert($error); Log::critical($error); Log::error($error); Log::warning($error); Log::notice($error); Log::info($error); Log::debug($error); 因此,你可以调用其中的任意一个方法来记录相应级别的日志信息,默认情况下,信息会被写入到通过配置文件 config/logging.php配置

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值