摘要: 适配器模式 1、适配器模式,可以将截然不同的函数接口封装成统一的API 2、实际应用举例,PHP的数据库操作有mysql、mysqli、pdo三种,可以用适配器模式统一成一致,类似的场景还有cache适配器,将memcache,redis,file,apc等不同的缓存函数,统一成一致。APC参考鸟哥 阅读全文
posted @ 2016-12-11 12:18 少年飞刀 阅读(744) 评论(0) 推荐(0) 编辑
摘要: 一、工厂设计模式 index.php $db = IMooc\Factory::createDatabase(); 使用工厂类的静态方法直接创建一个dababase对象,当类名发生修改时,在工厂里修改即可。 IMooc/Factory.php 二、单例设计模式 保证在整个脚本运行期间,只有一个对象的 阅读全文
posted @ 2016-12-11 11:28 少年飞刀 阅读(339) 评论(0) 推荐(0) 编辑
摘要: SPL标准库的使用 SPL是用于解决典型问题(standard problems)的一组接口与类的集合。 1、SPL提供了很多数据结构类,如SplStack、SqlQueue、SqlHeap、SplFixedArray等 实例代码如下: a、栈 b、队列 c、定长数组 2、PHP链式操作的实现 in 阅读全文
posted @ 2016-12-11 10:27 少年飞刀 阅读(286) 评论(0) 推荐(0) 编辑
摘要: 一、编程字体选择 1、选择等宽字体 包括Courier New ,Consolas,Source Code Pro(推荐) 2、环境搭建(建议easyPHP) 二、开发符合PSR规范的基础框架 PSR: 1、命名空间和类文件的绝对路径必须一致 2、类名必须大写; 3、除入口文件外,其他的 ”.php 阅读全文
posted @ 2016-12-10 23:20 少年飞刀 阅读(345) 评论(0) 推荐(0) 编辑
摘要: PHP一般运行于Linux服务器中,周边主要包括:Linux运行环境、文件存储、数据库、缓存、网络 常见PHP场景的开销次序: 读写内存<<读写数据库(使用内存作为缓存、异步处理)<<读写磁盘<<读写网络数据(网络延迟) 尽量操作内存和数据库,避免操作磁盘和网络数据,一定要避免读取大文件 一、优化网 阅读全文
posted @ 2016-12-10 18:08 少年飞刀 阅读(468) 评论(0) 推荐(0) 编辑
摘要: 使用ab进行压力测试 ab -n行数 -c并发数 url 重点关注下面两点: 1、Request per secend : 每秒可接收的请求数 2、Time per request : 每次请求所耗费的时间 优化1、多使用PHP自身的功能(如PHP定义的函数、常量),尽量少自己造轮子,自己写的代码冗 阅读全文
posted @ 2016-12-10 15:54 少年飞刀 阅读(224) 评论(0) 推荐(0) 编辑
摘要: 二分查找可以通过递归和循环来实现, 思路如下: 将要查找的数和中间数进行比较, 如果相等,则表示找到,返回下标 如果要查找的数小于中间这个数,则说明要查找的数分布在数组左边,修改right边界,使其等于middle-1,直接等于middle,如果查找不到,会造成死归, 如果要查找的数大于中间这个数, 阅读全文
posted @ 2016-11-23 19:36 少年飞刀 阅读(471) 评论(0) 推荐(0) 编辑
摘要: 1 冒泡排序是两个元素相互比较,找到最小值,然后冒泡到最后,代码如下: 2 选择排序是拿第一个元素去和其他元素相互做比较,将最小值放在第一位,代码如下: 3 插入排序的基本思想是把n个待排序的元素看成为一个有序表和一个无序表,开始时有序表中只包含一个元素,无序表中包含有n-1个元素,排序过程中每次从 阅读全文
posted @ 2016-11-23 19:22 少年飞刀 阅读(153) 评论(0) 推荐(0) 编辑