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

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的辅助方法。建议开发者可以经常性地查看一下 官方文档中的辅助方法部分。相信你经常能够有所收获。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏有趣的django

PYTHON面试

大部分的面试问题,有最近要找事的老铁吗?  python语法以及其他基础部分 可变与不可变类型;  浅拷贝与深拷贝的实现方式、区别;deepcopy如果你来...

7207
来自专栏企鹅号快讯

Bruce.Wang-记一次对JS木马分析

0×00 前言 随着 javascript 这类脚本语言的快速发展,它能展现的内容越来越多样,所运用的功能变得越来越强大。当运用在 web 开发上时,增加了更多...

2596
来自专栏Kevin-ZhangCG

Java开发岗面试知识点解析

36711
来自专栏xcywt

关于非局部跳转

  在看《程序员的自我修养》时看到一个以前没见过的东西,为此记录下来。(当然事后才知道原来早就被人写烂了,啊哈哈哈)   非局部跳转在C语言中是一个备受争议的机...

20210
来自专栏牛客网

知识总结:设计模式总结(C++和Python实现)前言案例实现 创建型模式 结构型模式行为型模式对比总结

前言 GoF的23种设计模式,包括创建型、结构型和行为型,其涵盖了面向对象思想的精髓以及诸多细节。本文结合《设计模式》和《大话设计模式》,并用C++和Pytho...

6198
来自专栏老司机的简书

老司机读书笔记——Effective Objective-C 2.0阅读笔记

比方说,在循环中不断地创建的临时对象。即便这些对象在调用完方法之后就就不在使用了,他们也依然处于存活状态,因为目前还在自动释放池里,等待系统稍后将其释放并回收。...

932
来自专栏有趣的django

python开发面试问题

python语法以及其他基础部分 可变与不可变类型;  浅拷贝与深拷贝的实现方式、区别;deepcopy如果你来设计,如何实现;  __new__() 与 __...

4828
来自专栏程序员与猫

Go Code Review Comments 译文(截止2018年7月27日)

持续更新中… 原文最新链接 https://github.com/golang/go/wiki/CodeReviewComments/5a40ba36d38...

1663
来自专栏用户2442861的专栏

最常用的两种C++序列化方案的使用心得(protobuf和boost serialization)

http://blog.csdn.net/lanxuezaipiao/article/details/24845625

1.1K2
来自专栏喔家ArchiSelf

全栈Python 编程必备

Python作为一种编程语言,被称为“胶水语言”,更被拥趸们誉为“最美丽”的编程语言,从云端到客户端,再到物联网终端,无所不在,同时还是人工智能优选的编程语言。

4505

扫码关注云+社区

领取腾讯云代金券