Laravel 项目优先使用到的第三方库

Intervention Image - 图片处理与操作库为什么不用 PHP 自带的 GD 图片处理扩展库?GD 库本身提供了大部分图片处理的函数,但使用前都会将其封装一个类,来处理业务方面的需求。网上有很多这样的 GD 库封装案例,但在切换框架之后,对于使用自定义的库引入和使用适应方面需要花费时间,且这样封装本身也缺少维护,容易造成代码不兼容的问题。Intervention Image 是在 G

php fputcsv 输出 csv 文件中文乱码问题解决

以下为使用的 csv 格式输出代码: set_time_limit(0); header('Content-Language: zh'); header('Content-Type: application/vnd.ms-execl; charset=utf-8'); header('Content-Disposition: attachment;filename=&

Laravel 中 bcrypt 助手方法解析

因为发现密码重新生成(密码值不变)时,返回的 hash 值都会变化,而解密却都能够成功,所以对 Laravel 自带的这个获取加密 hash 值的方法突然比较好奇。\vendor\laravel\framework\src\Illuminate\Foundation\helpers.phpif (! function_exists('bcrypt')) { /** * Hash

PHP 处理 16 进制数据以及TCP 报文发送工具 sokit 使用

公司的充电宝项目使用物联网技术连接设备,而与设备交互需要用到 TCP (或者 MQTT,性质一样)长连接。PHP 做这种项目大概率都会使用 workerman 框架(可以处理 TCP、Websockt 等请求),而业务框架 thinkphp 似乎也是首选。因为 thinkphp 可以将 wokerman 以扩展库的形式直接安装到框架中使用,过程非常简便。thinkphp 会在 config 下生成

PHP 循环执行异步操作(数据库操作)时,发现执行了两次问题解决

在做一个数据维护工作的 php 脚本时,从插入数据库的记录中发现,数据记录被插入了两次。通过加入 Log 日志标记发现,问题源头在 foreach 循环执行上数据库操作上。查看循环对象,并没有重复记录,所以是 foreach 方法体本身执行了两次,这是我不能理解的。猜测与循环执行的数据库异步操作有关。以下为循环异步操作的代码示例: $orders = Orders::where('m

laravel 开启 sql 打印

DB::enableQueryLog();//放在需要打印的查询前 User::all(); return DB::getQueryLog();//放在查询的后可以用 dd 直接输出:dd(DB::getQueryLog());

laravel where 子句使用方法汇总

值->where('name','admin') ->orWhere('name','tom')区间->whereBetween('age',[20,30]) ->whereNotBetween('age',[20,30])null->whereNull('content') ->whereNotNull('content')数组->whereIn(

Laravel 接入 Intervention Image - 图片处理与操作库

既然使用了框架,就该借助框架之利。Laravel 之类的框架,或者说现在的所有 PHP 框架都趋向于通过 composer 进行第三方库的自动引入,这样做简洁方便。composer 安装 Intervention Image安装 Intervention Image 之前,需要确保 PHP 版本 >=5.4 并且安装了 fileinfo 扩展,以及 GD 库(>=2.0)或者 Imag

php isset 判断多个变量是否已设置

使用 isset 判断多个变量是否已设置主要用在请求参数的判断上,但这个判断正在被框架的 Request 类中的验证规则所取代。对于其他的方法体内的多个变量,一般会用 isset($var1) && isset($var2) ... 来实现。今天遇到一个需要判断 4 个参数是否存在的情况,找到了函数说明:(PHP 4, PHP 5, PHP 7, PHP 8)isset — 检测变