Laravel 字符串辅助函数新成员
39

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-string-helpers

Stay Hungry, Stay Foolish.

本帖由 Summer 于 1年前 加精
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
讨论数量: 11

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

1年前

这个Str功能也是醉了

1年前
overtrue

发到订阅号吧, :smile:

1年前

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

file

1年前

一楼加一,不知有何用

1年前

@Tao 看四楼呗

1年前

@赵亚博 好像是第三个~

1年前

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

1年前

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

1年前
lol173

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

他的观点:

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

欢迎大家交换意见

1年前

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

1年前

  • 请注意单词拼写,以及中英文排版,参考此页
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`, 更多语法请见这里 Markdown 语法
  • 支持表情,使用方法请见 Emoji 自动补全来咯,可用的 Emoji 请见 :metal: :point_right: Emoji 列表 :star: :sparkles:
  • 上传图片, 支持拖拽和剪切板黏贴上传, 格式限制 - jpg, png, gif
  • 发布框支持本地存储功能,会在内容变更时保存,「提交」按钮点击时清空
  请勿发布不友善或者负能量的内容。与人为善,比聪明更重要!