Laravel框架illuminate\support\collection排序问题
Laravel 的 Collection 的排序有个问题,前几天折腾了好久,一直怀疑是自己代码有问题。Collection 对象执行 sort 后需要执行 values 方法,否则 Collection 对象的 items 排序结果没有生效。当然手动的 toArray() 是生效的。查看 Collection sort 方法内部实现是调用了 PHP 的 uasort 函数,该函数排序后会维持原来的 ...
图像处理技术之图片添加水印
关于如何给添加图片水印,网上流传的代码片段有很多,但是基本都是相同的代码,被各大网站转载的到处都是。网上流传的使用PHP给添加图片水印的代码,一般情况下还能使用,发现不了有什么问题,处理图片量一大,就会发现很多图片添加水印会有问题。给某些图片添加文字水印会出现颜色失效的问题,有时候会出现文字中空问题,有些图片会有锯齿,锯齿可能跟字体有关,同时也跟代码处理方式有关。本文讲解如何使用PHP为图片添加水印技...
谈谈项目开发过程中GIT合并分支
团队项目开发过程中,如果 GIT 的使用不统一,不规范,或者某些成员对 GIT 的操作不太熟悉,导致分支的合并特别混乱,使用 --graph 参数查看或者后期代码审查都是非常不友好的。我曾经到过的一家公司,强制所有的合并都使用 pull request,并且强制所有的 pull request 都必须 rebase 成一个 commit。现在想想,觉得他们很傻,真的很傻,如果一个公司对于技术只有偏执,...
Laravel框架之Migration使用教程
架的库和大量的第三方的库,这样综合性太强的软件系统性能是不会很高也不会很稳定的。说起 Artisan,也只能如我前面说的: 它实现了对象的 ArrayAccess 接口,使用了 Closure,使得其代码看起来有点艺术,但是遗憾的是, PHP 本身的代码风格就是不太优雅的,纵使这样,让人感觉有很多的奇怪。Laravel 内部使用了依赖注入的 Service 架构反而增加的开发的成本,并且使用 Comp...
解决 The mysql extension is deprecated and will be removed in the future
hp error_reporting(E_ALL ^ E_DEPRECATED); 更好的解决方案:修改数据库驱动类,使用 mysqli 系列函数代替 mysql 系列函数。 例如:当前许多 PHP 代码中 MySQL 的连接语句如下: <?php $link = mysql_connect('localhost', 'user', 'password'); mysql_select_db('dbna...
MyBatis 生成器去除注释的方法
如何使用 MyBatis generator 呢?去看官方文档吧,需要白几根头发就可以搞定,熟练程序员大概一两个小时搞定。如何去除 MyBatis generator 生成的代码的注释呢?如何屏蔽注释,让它不要生成呢?加入如下代码即可解决。<commentGenerator> <property name="suppressAllComments" value="true" /> </commentG...
读 Wordpress 有感
太年轻了!万里长城出现了,这就是壁垒,PHP 的壁垒就在这里,不是某个语言能影响的了的,语言连数据都不包含,不可能某一个特别好用的了。面向对象编程就是彻头彻尾的骗局,函数式编程才是编程的未来,人在变,代码在变,函数式编程更符合人类的思维。像我之前说的,很多面向对象的设计完全是多余的,人家公司的寿命也许不到两年,你想多了!人生短短几十年,已经够长啦,代码的寿命几何?编码时间一长,项目经历过了,代码写多了...
使用PHP实现Unicode编码转换为UTF-8编码示例
0 - U-7FFFFFFF: 1111110x 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx 请看如下将 Unicode 转换为 UTF-8 的 PHP 代码实现:function compatible_decode($unicode) { $str = ''; $arr = array_filter(explode('\\u', $unicode)); ...
PHP扩展exif源代码编译安装教程
PHP 的 exif 扩展可以很方便的读取相机拍摄的图片的原始信息,此扩展的函数只有五个,但是却单独的做成了一个扩展。此扩展在 pecl 库 images 分类中是找不到的,需要直接下载 PHP 源代码才能找到。虽然网上有人提供了使用正则的方式获取相机拍摄的原图的相关信息,但是不够稳定和成熟,主要是各大厂商存储的图片信息格式不一致。关于手动编译安装 PHP 的扩展,其实我已经很多年没有这样做过了。但 ...
影响程序员开发效率的几大神器
些的,你可能要 stash 一下,可能要各种 checkout,要 rebase 一下,然后重复上面的简洁过程,然后 merge 一下,然后 push。现在公司的绩效管理制度,让这些程序员越来越犹豫,代码看了又看,时间就在这些环节浪费掉了。并且 console 下,输入各种命令总得要点时间吧。还是 UI 省事一些。VIMVim 的变种特别多,UI 也特别多。学会 Vim 其实比 GIT 还要重要,但是...