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

时间:2022-05-02
本文章向大家介绍Laravel 5.4 及 5.5 中的全新字符串辅助方法,主要内容包括str_start() 方法、str_before() 方法、str_after() 方法、了解全部辅助方法、基本概念、基础应用、原理机制和需要注意的事项等,并结合实例形式分析了其使用技巧,希望通过本文能帮助到大家理解应用这部分内容。

Laravel 5.5 已经确定预计在 2017年 Laravel 欧洲大会上正式发布。这次重大升级,也带来了一些新的字符串相关的辅助方法。

以下介绍一些最近比较火的字符串辅助方法,他们最近已经得到了许多 Laravel 开发者的喜爱。

str_start() 方法

str_start() 辅助方法是由 Caleb Porzio 在 Laravel 5.4 分支中贡献的。这个方法用于确定字符串的开头有且仅有一个特定的字符。

比如我们在进行 URL 或者 Path 的拼接时,如何确保只含一个路径分隔符"/"呢?

以往可能是这样做的:

$path = rtrim(BASE_DIR, "/") .  "/" .  ltrim($filepath, "/");

rtrim 移除 BASE_DIR 末尾可能包括的 "/",再用 ltrim 移除 $filepath 开头可能包括的 "/".

现在通过 Str::start() 方法,可以这样做:

$path = rtrim(BASE_DIR, '/') . str_start($filepath, '/');

str_before() 方法

str_before() 方法上个月已经合并到[随着 laravel/framework 的 master 分支],它的作用与 str_after 方法正好相反。

举个栗子,你要获取 Email 地址中的用户名部分:

echo str_before('kairee@ofcss.tld', '@');
//  输出:kairee

这个方法会随 Laravel 5.5 一起发布。

str_after() 方法

str_after() 方法返回字符串中给定值之后的全部内容。依然以刚才那个 Email 的例子来说,假如要获取邮箱中的域名部分:

echo str_after('kairee@ofcss.tld, '@');
// 输出 ofcss.tld

这个方法依然是由前面提到的Caleb Porzio今年早些时候贡献的。

了解全部辅助方法

Laravel 提供了大量有关字符串、数组、URL的辅助方法。建议开发者可以经常性地查看一下 官方文档中的辅助方法部分。相信你经常能够有所收获。