Laravel 升级打怪的黑魔法命令整理

1,180 阅读2分钟

「这是我参与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();

字符串

  1. 将给定的字符串转换成 驼峰式命名 (我还真自己写过实现)
Str::camel($value);
  1. 比起使用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);

欢迎互动

大家有什么常用的命令欢迎在评论区讨论

硬核文章推荐

性能优化反思:减少DB查询,合理使用成员变量。

PHP转Go 2021年年中总结

如何第一时间收到接口报错?不用测试妹子再质疑你是不是接口挂了。

Git使用实战:多人协同开发,紧急修复线上bug的Git操作指南。

性能优化反思:不要在for循环中操作DB

性能优化反思:不要在for循环中操作DB 进阶版

最后

👍🏻:觉得有收获请点个赞鼓励一下!

🌟:收藏文章,方便回看哦!

💬:评论交流,互相进步!