2020年6月30日

PHP 之冒泡算法

摘要: 冒泡排序属于交换排序,是一种稳定排序 原理:冒泡算法是将较小的元素搬移到数组的开始,将较大的元素慢慢地往数组的尾部移动,小的数据就像气泡一下往上冒,而大的数据就像石头一样往下沉。 总结两个方法,分别是「递归」、「双层for循环」实现: 「双层for循环」: for()方法内传入一个数组,对数组进行循 阅读全文

posted @ 2020-06-30 12:36 小识堂 阅读(630) 评论(0) 推荐(0) 编辑

PHP 格式化显示

摘要: PHP调试的时候,用 var_dump 或 print_r打印 json数据 或 array 数组时,html页面没有换行显示,看到的内容一大堆,不好定位。 输出前添加 <pre>,便可以自动格式化换行显示。 举例: 普通打印数组 : print_r($arr); 输出: Array ( [0] = 阅读全文

posted @ 2020-06-30 12:19 小识堂 阅读(234) 评论(0) 推荐(0) 编辑

PHP设计模式之装饰器模式

摘要: 装饰器模式(Decorator Pattern)允许向一个现有的对象添加新的功能,同时又不改变其结构。这种类型的设计模式属于结构型模式,它是作为现有的类的一个包装。这种模式创建了一个装饰类,用来包装原有的类,并在保持类方法签名完整性的前提下,提供了额外的功能。我们通过下面的实例来演示装饰器模式的用法 阅读全文

posted @ 2020-06-30 11:58 小识堂 阅读(160) 评论(0) 推荐(0) 编辑

PHP设计模式之原型模式

摘要: 原型模式 即 对象克隆以避免创建对象时的消耗1: 与工厂模式类似,都是用来创建对象。 2:与工厂模式的实现不同,原型模式是先创建好一个原型对象,然后通过 clone 原型对象来创建新的对象。这样就免去了类创建时重复的初始化操作。 3:原型模式适用于大对象的创建,创建一个大对象需要很大的开销,如果每次 阅读全文

posted @ 2020-06-30 11:12 小识堂 阅读(124) 评论(0) 推荐(0) 编辑

2020年6月29日

PHP设计模式之观察者模式

摘要: 观察者模式定义了一种一对多的依赖关系,让多个观察者对象监听某一个主题对象。这个主题对象在状态发生变化时,会通知所有的观察者对象,使他们能够自动更新自己 应用场景:当一个对象的改变需要同事改变其他对象的时候,而且它不知道具体有多少对象有待改变时,应该考虑使用观察者模式。 观察者模式所作的工作其实就是在 阅读全文

posted @ 2020-06-29 14:42 小识堂 阅读(139) 评论(0) 推荐(0) 编辑

PHP设计模式之策略模式

摘要: 策略模式就是用来封装算法的,但在实践中,我们发现可以用它来封装几乎任何类型的规则,只要在分析过程中听到需要在不同时间应用不同的业务规则,就可以考虑使用策略模式处理这种变化的可能性。 举例:超市促销活动,分别有原价,5折,满300减50,使用策略模式…… 通过抽象方法形式 <?php /** * 抽象 阅读全文

posted @ 2020-06-29 14:16 小识堂 阅读(184) 评论(0) 推荐(0) 编辑

PHP设计模式之适配器模式

摘要: 将各种截然不同的函数接口封装成统一的接口。 举例:PHP 中的数据库操作有 MySQL, MySQLi, PDO三种,可以用适配器模式统一成一致,使不同的数据库操作,统一成一样的API。类似的场景还有 cache 适配器,可以将memcache, redis, file, apc等不同的缓存函数,统 阅读全文

posted @ 2020-06-29 11:41 小识堂 阅读(123) 评论(0) 推荐(0) 编辑

PHP设计模式之注册模式

摘要: 单例模式保证了一个类中只有一个实例被全局访问,当你有一组全局对象被全局访问时可能就需要用到注册者模式 (registry),它提供了在程序中有条理的存放并管理对象 (object)一种解决方案。一个“注册模式”应该提供get() 和 set()方法来存储和取得对象(用一些属性key)而且也应该提供一 阅读全文

posted @ 2020-06-29 11:22 小识堂 阅读(282) 评论(0) 推荐(0) 编辑

2020年6月28日

PHP中 构造函数(__construct)和析构函数(__destruct)

摘要: __construct ([ mixed $args [, $... ]] ) : void PHP 5 允行开发者在一个类中定义一个方法作为构造函数。具有构造函数的类会在每次创建新对象时先调用此方法,所以非常适合在使用对象之前做一些初始化工作。 Note: 如果子类中定义了构造函数则不会隐式调用其 阅读全文

posted @ 2020-06-28 16:29 小识堂 阅读(363) 评论(0) 推荐(0) 编辑

PHP中 extends、implements、abstract、interface 的区别

摘要: 先说 extends 1. extends 在类的声明中,通过此“关键字”来继承一个类。 2. extends 是继承某个类, 继承之后可以使用父类的方法, 也可以重写父类的方法; 3. extends 是继承父类,如果类被声明为final,则不能被继承。PHP中不支持多重继承(Java也不支持,而 阅读全文

posted @ 2020-06-28 15:33 小识堂 阅读(820) 评论(0) 推荐(0) 编辑

导航