随着 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('[email protected]', '@'); // -> jane
这个辅助方法会在即将到来的 Laravel 5.5 版本中发布。
Str::after() 辅助方法
Str::after()
会返回字符串中给定某个值之后的所有内容。还是用邮箱地址的例子来说,假设我们只想获取邮箱地址的主机名:
<?php str_after('[email protected]', '@') // -> example.com
这个辅助方法是也由 Caleb Porzio 在今年早些时候共享的。
关于所有的辅助方法
Laravel 有非常多的辅助方法来处理数组、字符串以及 URL 等等。你需要查看官方的辅助方法文档来了解更多内容。每次查看文档我都会发现一些有用的方法。
译自:laravel-news