您现在的位置是:首页> 编程文章 个人博客模板

分享 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_between()
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 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。

原文地址:http://calebporzio.com/11-awesome-larave...

译文地址:https://learnku.com/laravel/t/25244

阅读量! (1013)

关于本站

昵称:无痕小Q

职业:php-go-web开发工程师

现居:北京

Email:1838638884@qq.com

点击排行

路难行,行路难,一身汗水,满心长。脚下百里路,头顶艳阳天。坚定如磐石,信念似火烧。好男儿,人穷志不缺,天道也酬勤。四方走,走四方,一身是胆,豪气壮。前方坎坷途,千难万般阻。心若有明灯,身似般若行。好男 路难行,行路难,一身汗水,满心长。脚下百里路,头顶艳阳天。坚定如磐石,信念似火烧。好男儿,人穷志不缺,天道也酬勤。四方走,走四方,一身是胆,豪气壮。前方坎坷途,千难万般阻。心若有明灯,身似般若行。好男
    山花烂漫, 你是昨夜晓凤.

网站公告

  • 欢迎来到我的博客

  • 1:欢迎来到我的博客


    2:博客免费api接口现已上线


    3:博客会定期更新文章


    4:欢迎大家来捧场


    死生契阔,与子成说。执子之手,与子偕老。

站点信息

听闻远方有你,动身跋涉千里,我吹过你吹过的风,这算不算相拥,我喜欢你,从一而终,认真且怂。 海纳百川,有容乃大;壁立千仞,无欲则刚。
  • 建站时间:2019-8-30
  • 网站程序:php,laravel-swoole框架
  • 今日流量:612(10分钟统计一次)
  • 本月流量:9331
  • 浏览总量:388258
  • 统计方式:中间件,redis消息队列,定时任务
    甫昔少年日,早充观国宾。  读书破万卷,下笔如有神。