「这是我参与11月更文挑战的第29天,活动详情查看:2021最后一次更文挑战」
在上一篇文章分享一下自己封装的Laravel常用工具类,中收到了几条类似这样的评论
laravel不是可以直接 request()->ip() 获取IP吗,并且laravel自带有 Carbon 插件用于操作时间,生成随机字符串也自带有 Str::random() 方法,没要把框架自带的功能再重新封装一遍。
掘友们说的非常有道理,我反思了一下,为了尽量减少这类事情,应该熟悉Laravel常用的命令,熟悉框架自带的功能,避免重复造轮子,避免重复封装。
上一篇Laravel 常用命令整理收获了大家的点赞,说明大家还是认为有价值的,今天更进一步,整理能提高效率,能升级打怪
的黑魔法命令。
“黑魔法”命令
数组
从数组移除给定的键值对
Arr::except($array, array('key'));
从数组拉出一列给定的键值对,这个pluck()函数真心好用!
Arr::pluck($array, 'key');
路径
取得 app 文件夹的完整路径
app_path();
取得应用配置目录的完整路径,这个非常好用。
建议大家把配置文件写在.ENV
中,config配置文件从.ENV
中取值,业务逻辑通过config_path()
命令取到config配置文件中的值。
这样做有两个好处:1是统一管理,2是不同的环境可以在不同的.ENV
中设置不同的值,不需要改业务代码。
config_path();
字符串
- 将给定的字符串转换成 驼峰式命名 (我还真自己写过实现)
Str::camel($value);
- 比起使用
strpos()
,下面的命令是不是更好用?
判断字符串开头是否为给定内容
Str::startsWith('wangzhongyang', 'wang');
判断给定字符串结尾是否为指定内容
Str::endsWith('wangzhongyang', 'yang');
将给定字符串转换成「首字大写命名」: WangZhongYang
Str::studly('wang_zhong_yang');
Auth
获得授权登录后的用户信息 结合Cache使用,可以把常用的字段缓存起来,比如token,来实现登录有效期的需求
auth()->user();
取得当前 CSRF 令牌的内容
$token = csrf_token();
缓存Cache
注意,使用Cache的时候一定要区分:
put是更新操作,add是添加操作。
如果key已存在,add是不能添加成功的,会返回0;
Cache::put('key', 'value');
如果key已存在,put能更新成功,会返回1。
Cache::add('key', 'value', $seconds);
欢迎互动
大家有什么常用的命令欢迎在评论区讨论
硬核文章推荐
如何第一时间收到接口报错?不用测试妹子再质疑你是不是接口挂了。
Git使用实战:多人协同开发,紧急修复线上bug的Git操作指南。
最后
👍🏻:觉得有收获请点个赞鼓励一下!
🌟:收藏文章,方便回看哦!
💬:评论交流,互相进步!