HTTP协议代理相关头Vary等的含义
”。HTTP 的内容协商机制除了 Vary 外,还可以通过 300 Multiple Choices 响应头来实现,不过这样就比较麻烦,需要一次往返网络请求,很费时。Vary 字段在一般情况下,特别是开发人员很少见到,也很少使用。如前面所说,大多数用在反向代理缓存服务器上,比如淘宝网访问量比较大,这样就会设置多个反向代理服务器,代理服务器才是真正的面向用户服务的机器。而目前浏览器的种类特别多,并且支持...
MacOS自带PHPGD库问题
最近一段时间,一直在 Mac OS 上办公,对于我这种很少触碰苹果产品的人,实在是有些不习惯,不过苹果的产品比较精致,也另有一番体验。在 Mac 上开发,有遇到过一些问题,这里记录最近出现的一次 GD 库异常问题。 苹果系统的终端跟 Linux 非常相似,不过也有一些命令默认没有支持,比如 tree 命令。Mac OS 系统自带了 PHP 解释器和 Python 等。安装好了 Nginx 后,运行 ...
PHP数组式访问接口ArrayAccess
框架的 Illuminate\Container 就实现了 ArrayAccess 接口,这样就可以像操作数组的方式一样来操作对象。这样的语言预定义接口功能很少人知道,即使不知道也不会影响一个程序员的开发和设计。PHP 的设计者们不直接实现这样的接口就是让程序员有更强的能力创造新的行为的对象。 实现了 ArrayAccess 的类需要实现四个抽象方法,分别是 offsetExists, offsetG...
本站文章链接增加英文描述
最重要的一个理由就是我在看流量统计的时候从 URL 上面一眼就明白这是哪篇文章。当然,这么做也有另外的一些好处,比如 SEO 更加友好。URL 加上描述信息后,也有不好的地方,那就是地址变长了。 我在开发新功能时,一般不喜欢加字段,一般不喜欢修改之前写的代码,现在的做法是直接加表和加代码。这样做代码体积会稍微变大一些,但是逻辑更加清晰和简单。 之前发过的文章,暂时先不增加,这是第一篇 URL 含描述信...
解决 The mysql extension is deprecated and will be removed in the future
extension is deprecated and will be removed in the future: use mysqli or PDO instead in ... 。 PHP 核心开发组经过了很长时间的讨论,决定在 PHP5.5 版本后将 mysql_ 系列的函数标记为 deprecated,下面将给出如何解决这个问题的方法。 Why was mysql deprecated in...
开源博客兼CMS系统LBLOG在线体验站上线
有兴趣的朋友可以试着使用下,遇到问题可以在这里留言。LBlog 除了留言处使用了 UE 外,在后台没有使用编辑器,不使用编辑器只是到现在为止没有找到合适的编辑器,并且 LMLPHP 团队暂时还没有时间开发出可以定制,简单,适合各种场景的编辑器,相信以后会有的。 ...
PHP简写三目运算符实现二选一
$name = $obj->name ?: 'Anonymous'; 好的程序员应该写出好的代码,好的代码就应该选择一种最好的方式来写,而不是去写一些很奇怪的东西,这样容易造成别人的误解,特别是团队开发。 比如,在 PHP 中,我们一般习惯用 isset() 来判断是否有设置值,但有些人会使用 @ 符号来屏蔽报错,其实这样是不规范的,屏蔽 Notice 错误对系统架构来讲是不健康的。如下所示: $n...
LMLJS之代码高亮插件highlight发布
级麻烦,要求指定语言,感觉就是很难用。于是就动手写了一个前端代码高亮插件,用起来还过的去,也发现有一些小的地方可以继续优化,但是现在已经没有时间用在这方面了,以后再优化吧。下面分享本次高亮代码 JS 开发过程中遇到的问题。 我对代码高亮的要求比较简单,首选一定是有行号,并且自动换行,每一行代码对应的行号的高度和代码高度一致,然后让代码关键的地方高亮一下,比如括号啊,引号啊。为了达到这个要求,花费了好多...
解决PHP PDO limit占位符无效
bindParam 必须传入类型参数 PDO::PARAM_INT。 这个坑被前人踩了无数次啦,这个问题有人说算 Bug,最近我还是踩了一次。因为我在 PHP7 和 PHP5 之间经常来回使用,导致开发环境一切换就会出一些小问题。 使用 LMLPHP 框架在写法上需要注意一点就能避免这个问题,如下示例: $this->db->select($table_name, '*', '1=1 order b...
基于JavaScript在线头像图片编辑前端后台实现
预览和获取图片大小,选定位置等信息。关于Jcrop,项目地址在GITHUB上,它基于MIT开源协议。本人看了下项目的源代码,感觉作者蛮认真的。Jcrop做到了兼容IE系列和其他主流浏览器,非常稳定,让开发者不再为前端方面花费太多精力。加上本人不太喜欢Flash实现,纯JavaScript实现的功能效率会更高。由于时间比较仓促,代码没有过多的优化,有点乱,下面公布前端实现和服务端处理图片部分代码。 前端...