Laravel 字符串辅助函数新成员
新的字符串辅助函数又壮大了计划在 Laracon EU 2017 期间降临的 Laravel 5.5。
下面几个是字符串辅助函数类中的新宠~
Str::start()
Str::start() 是 Caleb Porzio 贡献给 Laravel 5.4 的分支。 它确保字符串只从单个值开始。
假设有一个 API 客户端 baseUrl,通过使用 rtrim 删除尾部斜杠来规范网址:
<?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
(小编怎么觉得这个应用场景甚少出现,是我 bug 写得太少了么=_=)
Str::before()
Str::before() 才在上个月被发布到 laravel/framework 的 master 分支上,其作用跟下面的 str_after 恰好相反。假设你想获得电子邮件地址中的第一部分:
<?php
str_before('jane@example.com', '@');
// -> jane
这个函数会出现在即将到来的 5.5 中~
Str::after()
这个辅助函数返回字符串中给定值之后的所有内容。用同样的例子,假设我们要从电子邮件中获取主机名,可以这样写:
<?php
str_after('jane@example.com', '@');
// -> example.com
PS:这个功能现在在 5.4 中就能够使用啦~
多看文档
Laravel 在数组、字符串和 URL 等方面都有许多难以置信的超级好用的辅助函数。至少每次当我尝试求助于 辅助函数 文档时,都能有新的发现~
那么如何才能多看文档呢?:smirk:
当然是趁着 Laravel 5.5 召集文档翻译,赶紧快来加入翻译吧!:blush:
本作品采用《CC 协议》,转载必须注明作者和本文链接
php 自带函数
strstr()
的第二个参数为true
,就跟str_before()
的效果是一样的。这个Str功能也是醉了
发到订阅号吧, :smile:
@赵亚博 还是有区别的,
str_before()
用的是explode()
。如果查找不到相应的内容,str_before()
返回的是字符串,而strstr()
返回的是布尔值 false一楼加一,不知有何用
@Tao 看四楼呗
@赵亚博 好像是第三个~
一直没注意到
Laravel
还有这么多辅助函数...@wallboy 我看走眼了。。。。:(
前天同事跟我提到了讨论过关于用框架的函数还是php自带函数的问题
他的观点:
如果我想切换框架,原生方法就可以直接复制使用,或者说更有助于切换吧 (这个我觉得一个项目要换框架就等于重写了吧)
既然原生也可以,用原生应该更有助于性能
欢迎大家交换意见
@lol173 项目一旦启动上线,再换框架的概率几乎为0,除非重构