在使用$_GET,$_POST全局变量获取某些key值时,有时候想当然的加上urldecode函数来转码一下,认为这样会没有风险。在没有真正认识$_GET,$_POST时,风险正在来临。
尘埃人生哲言:菩提本无树,明镜亦非台,本来无一物,何处惹尘埃 工作哲言:把每一行简单的代码写好就是不简单,把每一个平凡的逻辑规划好就是不平凡! |
在使用$_GET,$_POST全局变量获取某些key值时,有时候想当然的加上urldecode函数来转码一下,认为这样会没有风险。在没有真正认识$_GET,$_POST时,风险正在来临。
在查找yii2相关开发资料过程中发现很多人对yii2的错误处理流程不清楚,尤其是经常有一些疑惑,比如”为什么我的程序一旦出现问题,就会自动打印出错误呢?它是怎么监听的?在哪里用的try catch?”,下面我详细的描述一下错误处理流程。
使用行为(behavior)可以在不修改现有类的情况下,对类的功能进行扩充。 通过将行为绑定到一个类,可以使类具有行为本身所定义的属性和方法,就好像类本来就有这些属性和方法一样。 而且不需要写一个新的类去继承或包含现有类。 Yii中的行为,其实是 yii\base\Behavior 类的实例, 只要将一个Behavior实例绑定到任意的 yii\base\Component 实例上, 这个Component就可以拥有该Behavior所定义的属性和方法了。而如果将行为与事件关联起来,可以玩的花样就更多了。
PS:在很多系统的权限/选项设置中 很多都用到了位运算的方法来存储多种标志位。这样可以节省字段。一个字段只需要一个数字 就可以标识很多种设置和信息。
PS:现有图库系统通过rsync将图片同步到存储上。用户上传图片后,不能做到实时访问(图片要经过网络传输后才能落地)。另外老的系统为每张用户图片存储多种规格,网页改版后还需要重新裁切新规格,造成存储的浪费。多种规格的小图片占用系统大量inode,甚至inode先于磁盘空间被耗尽,剩余空间不能使用。
PS:Optimizer+ 是 Zend 开发的闭源但可以免费使用的 PHP 优化加速组件,是第一个也是最快的 opcode 缓存工具。现在,Zend 科技公司将 Optimizer+ 在 php License 下开源成为 Zend Opcache。 Zend OPcache 通过 opcode 缓存和优化提供更快的 PHP 执行过程。它将预编译的脚本文件存储在共享内存中供以后使用,从而避免了从磁盘读取代码并进行编译的时间消耗。同时,它还应用了一些代码优化模式,使得代码执行更快。