您现在的位置是:首页> 编程文章 个人博客模板
分享 11 个辅助函数
无痕小Q个人博客 2020-02-05 21:14:57【 主页】 1013人已围观
简介本文分享一些我认为很棒的辅助函数,已经集成到扩展里 https://github.com/calebporzio/awesome-hel... ,接下来一个个讲解。
ok()
在某些情况下,你可能只想从控制器中返回操作成功,而不带任何数据。 如果用 'return response ()' 返回,视觉上不好看, 而且语义也不对(因为这个函数默认返回状态码 200,而事实上状态码 204(无内容)才是更准确的)。
Route::get('/', function () {
return ok();
);
非常感谢 Logan Henson 的建议。
str_wrap()str_wrap('pigs', '-blanket-');
// returns: "-blanket-pigs-blanket-"
str_wrap('pigs', '-blanket-');
// returns: "-blanket-pigs-blanket-"
str_between()str_between('--two-ferns--', '--');
// returns "two-ferns"
str_between('[two-ferns]', '[', ']');
// returns "two-ferns"
str_between('--two-ferns--', '--');
// returns "two-ferns"
str_between('[two-ferns]', '[', ']');
// returns "two-ferns"
str_match()
如果使用 'preg_match' 函数, 我每次都得写 '$matches [1]',这让我很崩溃。
str_match('persianwifefinder.com', '/(.*)\.com/');
// returns "persianwifefinder"
str_validate()
利用 Laravel 的验证系统,使字符串验证更加简单便捷。
str_validate('calebporzio@aol.com', 'regex:/\.net$/|email|max:10');
// returns: ["Format is invalid.", "May not be greater than 10 characters."]
carbon()
有了这个函数, 麻麻再也不用担心我忘记引入 'Carbon\Carbon' 包了。
carbon('1 year ago');
// Same as:
Carbon::parse('1 year ago');
user()
在每个 user()
之前写 auth()->
可是我应用中的 8 个字符,我再也不退回来了。
user();
// 等同于:
auth()->user();
money()
如果你们每个人都曾碰巧发现 PHP 的 money_format
函数,他的方法和思想,让你找到一个简单好用的工具来转换整数,转成美元符合,然后再次被愚弄?这个是专为你准备的:
money(12); // 返回 "$12.00"
money(12.75); // 返回 "$12.75"
money(12.75, $withCents = false); // 返回 "$13"
stopwatch()
用于调试和分析随机的东西,而不是查看堆栈溢出以找出如何从 microtime()
中取得合理的东西。stopwatch()
是一个简单的方法来计算在回调中运行的任何代码 (秒为单位)。
stopwatch(function () {
sleep(4);
});
// 返回 4.000....
chain()
chain () 函数支持 PHP 对象方法的链式调用(也就是说你可以一气呵成地调用对象的方法)。这个函数里还有一个彩蛋( "{carry}" 关键字,它可以把当前方法的返回值传递给下一个方法)。
chain(new Str)
->singular('cars')
->upper('{carry}')
// 如果你觉得写 "{carry}" 还不够简单,Taylor 貌似也有此意,因此他提出了更极致的建议,即在方法调用的同时,生成一个承载返回值的 "carry" 实例,用于传递到下一个方法(用法见下两行代码)。 所以是有两种方法供你选择。
->start(carry, 'the ')
->finish(carry, ' life!')();
// returns "the CAR life"
// 注意:在最后加一个 "()" 就可以获取最后一个方法的返回值。而且如果最后返回的数据类型是字符串,你甚至可以直接将其与其他字符串结合。
tinker()
现在其中最?的帮助函数 (这个 推 可以证明我说的). 一个特别有用的帮助函数,他可能和臭名昭著的 dd()
一样。我给你...
$user = User::find($id);
tinker($user);
// 将会打开带有 `$user` 可操作对象的 `artisan tinker` 会话
// Note: 只能运行在控制台(console)中,最常见的是在 PHPUnit 测试中。
结语
好了,全在这里了。开始用这 11 个超级好用的辅助函数来提升你的 Laravel 开发工作流吧。
如果你有一些自己的想法想贡献到这个仓库。你可以提交 PRs 到 这里 。
本文中的所有译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接
我们的翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。
阅读量! (1013)
点击排行
网站公告
- 欢迎来到我的博客
1:欢迎来到我的博客
2:博客免费api接口现已上线
3:博客会定期更新文章
4:欢迎大家来捧场
站点信息
- 建站时间:2019-8-30
- 网站程序:php,laravel-swoole框架
- 今日流量:612(10分钟统计一次)
- 本月流量:9331
- 浏览总量:388258
- 统计方式:中间件,redis消息队列,定时任务