07 2019 档案
摘要:PM(FastCGI 进程管理器)用于替换 PHP FastCGI 的大部分附加功能,对于高负载网站是非常有用的。 它的功能包括: 支持平滑停止/启动的高级进程管理功能; 可以工作于不同的 uid/gid/chroot 环境下,并监听不同的端口和使用不同的 php.ini 配置文件(可取代 safe
阅读全文
摘要:将各种截然不同的函数接口封装成统一的API。 PHP中的数据库操作有MySQL,MySQLi,PDO三种,可以用适配器模式统一成一致,使不同的数据库操作,统一成一样的API。类似的场景还有cache适配器,可以将memcache,redis,file,apc等不同的缓存函数,统一成一致。 首先定义一
阅读全文
摘要:注册模式,解决全局共享和交换对象。已经创建好的对象,挂在到某个全局可以使用的数组上,在需要使用的时候,直接从该数组上获取即可。将对象注册到全局的树上。任何地方直接去访问。
阅读全文
摘要:单例模式有以下3个特点: 1.只能有一个实例。 2.必须自行创建这个实例。 3.必须给其他对象提供这一实例。 $_instance必须声明为静态的私有变量 构造函数和析构函数必须声明为私有,防止外部程序new 类从而失去单例模式的意义 getInstance()方法必须设置为公有的,必须调用此方法
阅读全文
摘要:工厂模式:工厂方法或者类生成对象,而不是在代码中直接new。 使用工厂模式,可以避免当改变某个类的名字或者方法之后,在调用这个类的所有的代码中都修改它的名字或者参数。 参考代码:
阅读全文
摘要:/** * 数组层级缩进转换 * @param array $array 源数组 * @param int $pid * @param int $level * @return array */ function array2level($array, $pid = 0, $level = 1) { static $list = []; foreach ($a...
阅读全文
摘要:$str='中'; echo strlen($str)."\n";//3 echo mb_strlen($str,'utf8')."\n";//1 echo mb_strlen($str,'gbk')."\n";//2 echo mb_strlen($str,'gb2312')."\n";//2 $string = "as-df-sds"; echo str_replace(" ","",uc
阅读全文
摘要:$type = $_FILES['image']['tmp_name'];//文件名 //$type = $this->getImagetype( $type ); $filetype = ['jpg', 'jpeg', 'gif', 'bmp', 'png']; if (! in_array($type, $filetype)) { return "不是图片类型"; } //*判断...
阅读全文
摘要://empty() 为truevar_dump(empty(0));var_dump(empty('0'));var_dump(empty(array()));var_dump(empty(null));var_dump(empty($a));var_dump(empty(false));var_d
阅读全文
摘要:对于mysql的执行计划可以在select前添加Explain来实现,它可以告诉我们你的语句性能如何。 下面是对explain的具体说明,也都是官方的,以后进行参考。 id SELECT识别符。这是SELECT的查询序列号 select_type SELECT类型,可以为以下任何一种: SIMPLE
阅读全文