从 laravel 中文文档查看 5.5 相对 5.1 中的变动 (2)

这篇主要对比 laravel 5.5相对5.1 的各模块功能的不同,从 5.5 的目录来看是从安全相关官方扩展包的内容。

上一篇在这里从 laravel 中文文档查看 5.5 相对 5.1 中的变动 (1)

相同的部分我就不多赘述了,大部分只点出目前看到的不同的地方。当前本文的修改时间是 2017-10-03 15:28:41。

查阅的 laravel 手册为:

Artisan 命令行工具

Laravel REPL

所有 Laravel 应用都包含了 Tinker。 Tinker 让你可以在命令行中与你整个的 Laravel 应用进行交互,包括 Eloquent ORM、任务、事件等等。运行 Artisan 命令 tinker 进入 Tinker 环境:

php artisan tinker

事件

除了广播变化非常大之外,其它没有什么变化。5.5文档把广播从事件里单独拎出来了。

广播

相对于5.1变化的蛮大的,主要因为是增加了 laravel echo,广播的实现变得非常简单 。等到我需要实践的时候再去看好了。

直达链接: 广播系统

缓存

感觉没什么变化 Orz

集合

增加了很多方法。 直达链接: Collection

文件系统

保存文件这一块多了文件流式传输的方法:

use Illuminate\Http\File;

// 自动为文件名生成唯一的 ID...
Storage::putFile('photos', new File('/path/to/photo'));

// 手动指定文件名...
Storage::putFileAs('photos', new File('/path/to/photo'), 'photo.jpg');

putFile 方法将生成唯一的 ID 作为文件名。

在文件上传部分贴心了很多。5.1时候自定义了不少这方面的处理,5.5 直接帮我们完善了:

Request 可以直接用 store 方法保存文件。store 也生成唯一的 ID 来作为文件名。

    public function update(Request $request)
    {
        $path = $request->file('avatar')->store('avatars');

        return $path;
    }

或者Request 的 storeAs,也可以用 Storage 的 putFileAs,效果一样

$path = $request->file('avatar')->storeAs(
    'avatars', $request->user()->id
);

$path = Storage::putFileAs(
    'avatars', $request->file('avatar'), $request->user()->id
);

文件可以被声明为 publicprivate。不过具体的业务处理,就得自己去完善了。

辅助函数

多了不少

数组

  • array_last
  • array_prepend
  • array_wrap 函数将给定的值包装成一个数组。如果给定的值已经是一个数组,则不会被改变

路径

  • mix
  • resource_path 函数返回 resources 目录的完整路径。

字符串

  • kebab_case 函数将给定的字符串转换为 短横线隔开式
  • e(并不是新增的) 函数使用 PHP 函数 htmlspecialchars 并且 double_encode 选项设置为 false
  • str_after
  • str_before
  • title_case 函数将给定的字符串转换为 每个单词首字母大写

url

  • secure_url 函数为给定的路径生成一个完整的 HTTPS URL 路径

其他

  • abort 函数将会抛出一个 HTTP 异常并且由异常处理程序处理
  • abort_if
  • abort_unless
  • dispatch 函数将一个新的任务推送到 Laravel 任务列队
  • logger 函数可以将一个 debug 级别的消息写入到日志中
  • report 函数将使用异常处理程序的 report 方法抛出异常
  • retry 函数尝试执行给定的回调,直到到达给定的最大尝试次数。

邮件

在 Laravel 5.5 中,每种类型的邮件都代表一个「Mailable」对象。这些对象存储在 app/Mail 目录中。


从 laravel 中文文档查看 5.5 相对 5.1 中的变动 (1)

laravel 5.5也发布了一段时间了。 这是 laravel 第二个 LTS 版本,自然不能错过。实际上我也很少关注中间几个版本,并不了解它们增加了哪些东西。

趁着这个国庆把5.5的文档粗略看了一遍,以前对 laravel 多以应用为主,需要的时候才会去查,研究不算深,所以应该会有很多疏漏,或是错误,我也会不断修改过来,欢迎指正。

这篇主要对比一些基础性的不同,从 5.5 的目录来看是从前言前端开发的内容。

下一篇在这里从 laravel 中文文档查看 5.5 相对 5.1 中的变动 (2)


CentOS 源与 Docker 源加速的设置

最近接触了一些 CentOS 和 Docker,对基本的操作还不太了解。记录一下。

CentOS 源

yum 的配置文件分为两部分: main 和repository

  • main 部分定义了全局配置选项,整个yum 配置文件应该只有一个main。常位于/etc/yum.conf 中。
  • repository 部分定义了每个源/服务器的具体配置,可以有一到多个。常位于/etc/yum.repo.d 目录下的各文件中。

yum.conf 文件一般位于/etc目录下,一般其中只包含main部分的配置选项。

/etc/yum.repos.d/下有若干个文件,也可以新建文件添加自定义的源。

  • CentOS-Base.repo 是yum 网络源的配置文件
  • CentOS-Media.repo 是yum 本地源的配置文件

Docker 源

通过 Docker 官方镜像加速,中国区用户能够快速访问最流行的 Docker 镜像。

修改 /etc/docker/daemon.json 文件并添加上 registry-mirrors 键值。

{  
	"registry-mirrors": ["https://registry.docker-cn.com"]
}

也可以使用阿里云的源:

https://7bezldxe.mirror.aliyuncs.com

修改保存后重启 Docker 生效。


VPS主机测试脚本

持续更新。

目前参考自使用脚本测试VPS

硬盘IO及全球下载速度测试

使用秋水逸冰的一键Bench脚本

wget -qO- bench.sh | bash

或者下载到本地运行:

wget https://cdn.kelu.org/blog/2017/09/bench.sh
chmod +x bench.sh
./bench.sh

我经常运行到一半就卡了,不知道为什么,一般就看个I/O速度。

全国网络测试

来自于91yun,包括了全国PING值的测试和各地路由的走法,偏向于网络测试。

wget -N --no-check-certificate https://raw.githubusercontent.com/91yun/91yuntest/master/test_91yun.sh && bash test_91yun.sh s

服务器性能测试

简单的对CPU进行运算测试,需要跑的时间很长,请耐心等好最后测试出来的跑分。如下:

wget --no-check-certificate https://github.com/teddysun/across/raw/master/unixbench.sh
chmod +x unixbench.sh
./unixbench.sh

线路测试

wget —no-check-certificate https://raw.githubusercontent.com/wn789/Superspeed/master/superspeed.sh
chmod +x superspeed.sh
./superspeed.sh

参考资料


1 2 44 45 46 47 48 91 92