Laravel 字符串辅助函数新成员

file
新的字符串辅助函数又壮大了计划在 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:

参考链接:https://laravel-news.com/new-laravel-strin...

本作品采用《CC 协议》,转载必须注明作者和本文链接
Stay Hungry, Stay Foolish.
本帖由 Summer 于 7年前 加精
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
讨论数量: 11

php 自带函数strstr()的第二个参数为true,就跟str_before()的效果是一样的。

7年前 评论
颜⑧

这个Str功能也是醉了

7年前 评论

发到订阅号吧, :smile:

7年前 评论

@赵亚博 还是有区别的,str_before() 用的是 explode()。如果查找不到相应的内容,str_before() 返回的是字符串,而 strstr() 返回的是布尔值 false

file

7年前 评论

一楼加一,不知有何用

7年前 评论

一直没注意到 Laravel 还有这么多辅助函数...

7年前 评论

@wallboy 我看走眼了。。。。:(

7年前 评论
lol173

前天同事跟我提到了讨论过关于用框架的函数还是php自带函数的问题

他的观点:

如果我想切换框架,原生方法就可以直接复制使用,或者说更有助于切换吧 (这个我觉得一个项目要换框架就等于重写了吧)
既然原生也可以,用原生应该更有助于性能

欢迎大家交换意见

7年前 评论

@lol173 项目一旦启动上线,再换框架的概率几乎为0,除非重构

7年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!