laravel不是可以直接 request()->ip() 获取IP吗,并且laravel自带有 Carbon 插件用于操作时间,生成随机字符串也自带有 Str::random() 方法,没要把框架自带的功能再重新封装一遍。
“黑魔法”命令
数组
从数组移除给定的键值对
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);