LMLPHP第五期更新功能
的条件配置功能,通过在控制器类中配置conditions属性快速便捷的实现方法执行时的条件方法,当指定的条件方法返回“真”时才会执行该方法,此功能极大的方便了开发中的权限控制,并降低了代码的冗余。由于系统需要支持PHP的低版本,目前条件属性和条件方法的属性必须为public才能正常工作,当后期不再支持低版本时就没有这种要求。上期回顾 http://mp.weixin.qq.com/s?__biz=Mz...
华为手机的性价比非常不高
重要, Dolly Zoom 才重要,如果变焦不能顺滑的实现,有啥意思呢,额,双景录像?多个摄像头同时录制?总是差了那么一点点。我觉得手机这种东西,真的没有必要买超过 2000 元的,除非不差钱,安卓系统不管什么旗舰机,两年之后就非常平庸,非常平庸。现在满天都是几十上百倍变焦,几十上百瓦快充的手机,还 5G 加全功能 NFC,该有的都有。但是,有一点还是可以的,印证了我对手机的价值判断,那就是存储,手...
VI编辑文件忘记SUDO不退出如何保存
在 VI 模式下,当编辑的文件权限不属于当前用户,或者编辑系统文件时,如何获取 SUDO 权限?如何在提示因为权限问题而无法保存时并且不退出编辑器的情况下保存当前文件?当忘记 SUDO 时,如果退出重新再 SUDO 编辑会比较麻烦,比较简单的解决方式如下。 is read-only (add ! to override) Can't open linked file for writing 使用 !...
PHP简写三目运算符实现二选一
,这样容易造成别人的误解,特别是团队开发。 比如,在 PHP 中,我们一般习惯用 isset() 来判断是否有设置值,但有些人会使用 @ 符号来屏蔽报错,其实这样是不规范的,屏蔽 Notice 错误对系统架构来讲是不健康的。如下所示: $name = @$_GET['name']; 上面的代码系不规范的,也是极不提倡的,应该写成下面的方式: $name = isset($_GET['name']) ?...
网页改变状态栏背景实现沉浸式效果
沉浸式特效在移动端是个大趋势,特别是最近几年,各种 App 的效果,比如音乐播放器的背景,系统的状态栏特效等。 其实,在网页端也一样是可以支持这种特效的,比如 Chrome 浏览器。发现有个网页实现了,该网页的页面源代码居然找到 104 个 script 标签,也是醉了,地址 http://www.zaobao.com.sg/znews/singapore/story20171106-808844。特...
大润发超市购物小票算错账
用卡的出错一般都不是加减法算错。知乎上有网友说:信用卡出错对用户是损失,对银行更是很大的损失,如果一个账单计算出错,会导致内部很多账单都出错,这样一来,银行的损失也会很大。仔细一想,对于超市内部的收银系统来说,即使出错也不会有什么大问题,毕竟没有银行那样的正规和稳定,以后超市买东西多留心。说了这么多,让人以后还敢在大润发买东西吗?。这样被发现了一次,以后每次超市买东西不仅要一一核对购物内容,还得做加减...
介绍几款 web 电子邮件软件
传统习惯。Roundcube 界面简洁。SquirrelMail 界面清爽,比较另类。对于想搭建邮件管理界面软件的童鞋来讲,是个大福利啊。还是那句话,搭建个邮件服务是不难的,搭建完整的邮件服务管理系统是有难度的。...
PHP fastcgi 方式加快接口响应速度
本文讲解 PHP fastcgi 方式运行时,如何加快接口响应速度。绝大多数接口的返回结果都是可以缓存的,比如百度的搜索风云榜,也许百度内部系统算出来需要半个小时,但是人家可以缓存结果,接口的响应速度可以做到毫秒级,就是这个意思。<?php if (!function_exists("fastcgi_finish_request")) { function fastcgi_finish_request...
Ubuntu强力卸载软件包和残留
Ubuntu 系统通过 apt-get 安装的软件包,一般情况下使用 remove 就可以卸载,但是这种卸载方式会残留很多配置文件和目录,再次安装依然达不到预期。举个例子,安装 postfix:apt-get install postfixpostfix 的安装其实很简单,在安装过程中如果选择了错误的邮件服务类型,会导致最后的结果不是你想要的,或者根本无法发送邮件。于是需要重新安装。apt-get r...
谈谈 PHP 协程的任务调度
ly be used inside a function in line 6可以看出,yield 只能包裹在 function 中。yield 不同于线程和进程,它是编译器实现的执行控制,而后者是操作系统层面的时间片控制。说的更直白一点,yield 就是高级的 goto 语句,并且还可以进行简单的双向通信。看如下最简单的任务调度控制:$coroutineArr = array(); require D...