首页 » Web技术 » Laravel » 正文

Laravel 5.4 及 5.5 中新的字符串辅助方法介绍

随着 Laravel 5.5 大版本发布时间的临近(预计为 2017  Laracon EU (8.28 – 8.30)期间发布),Laravel 带来了一些新的字符串辅助方法。下面介绍 String 辅助类中一些非常有亮点的新方法。

Str::start() 辅助方法

Str::start() 方法是由 Caleb Porzio 贡献到 Laravel 5.4 分支中的。这个辅助方法可以确保字符串只是由某个特定的值开始。

我想下面的代码我可能已经写了不下一百次了。我们假设你有一个 API baseUrl,你通常需要移除尾部的斜杠来规范 URL:

<?php

return [
    'my_api' => [
        'base_url' => rtrim(env('MY_API_BASE_URL'), '/'),
    ],
];

之后,当你需要规范路径避免出现多个斜杠的时候,可能需要执行以下操作:

<?php

return config('my_api.base_url') . '/' . ltrim($path, '/')

现在,通过 Str::start() 及其辅助方法 str_start(),你可以这样规范路径:

<?php

$path = '//example';

config('my_api.base_url') . str_start($path, '/');

// -> https://my-api.com/example

你可以在 Twenty Percent Time Podcast 听到更多关于该方法的内容。

Str::before() 辅助方法

before 方法是在上个月发布到 laravel/framework 主分支中的,与下面将要介绍的 str_after 方法的功能正好相反。

假设你想得到邮箱地址最开始的部分:

<?php

str_before('jane@example.com', '@');
// -> jane

这个辅助方法会在即将到来的 Laravel 5.5 版本中发布。

Str::after() 辅助方法

Str::after() 会返回字符串中给定某个值之后的所有内容。还是用邮箱地址的例子来说,假设我们只想获取邮箱地址的主机名:

<?php

str_after('jane@example.com', '@')
// -> example.com

这个辅助方法是也由 Caleb Porzio 在今年早些时候共享的。

关于所有的辅助方法

Laravel 有非常多的辅助方法来处理数组、字符串以及 URL 等等。你需要查看官方的辅助方法文档来了解更多内容。每次查看文档我都会发现一些有用的方法。
译自:laravel-news

发表评论