PHP设计模式教程

39.0k 20评论

面向对象是PHP5之后增加的功能,是PHP走向现代语言的一个标志。

在过程式设计时代,PHP以学习成本低、入门快的特点赢得很多WEB开发者的青睐,但同时也限制了PHP的发展。

借鉴Java和C++之后的PHP语言,在增加面向对象特性的同时,还保持着简便易懂的特点。

但是,如果只是使用了PHP的继承特性,并不是面向对象的设计,因为这并不能提高代码的重用性灵活性

 

不论是 PHP、Java还是C++编程语言,在编程的时候,我们所遇到的大部分问题,其实都已经被其他程序员一再的处理了。

设计模式提取了共同问题,定义了经过测试的解决方案,并描述了可能的结果。

也就是说,设计模式(Patterns)是一些可以在项目中重复使用的解决方案

但是,设计模式并非像组件那样,能被合并来构建系统的固定的解决方案,它们是解决一般性问题的通用方法

通俗来说,设计模式就是一些编程的套路,不是具体的攻防动作,是为设计更好系统设计的解决方案。

 

面向对象的原则是“组合优于继承”,因为组合可以以多种方式动态的处理任务。

虽然对象的组合会导致代码的可读性下降,但会让系统更加灵活,复用性更高

设计模式是很多前辈花费大量精力总结的经验,是经过检验的高效的一系列对象组合方式。

 

市面上的设计模式介绍大部分是Java语言,本文特地整理一份PHP版的设计模式

 

共12种经典的设计模式:

参考资料:

  1. Design Patterns in Java Tutorial
  2. 图说设计模式

20 条评论

j
jkaltopp says: 回复

M
Maxwell says: 回复

期待更新

小虎 says: 回复

厉害

a
anningri says: 回复

很棒的php博客

刘康 says:

楼主是不是WordPress搭建的博客?不错。 🙂

歪麦 says: 作者

嗯,是wordpress搭建的。

风信子 says:

楼主做过短信接口吗?是不是一般短信服务提供商会对同一个手机号在一段时间内发送短信的次数有限制

歪麦 says: 作者

接口倒是没做过,不过直接看提供商的说明就知道了。比如阿里云的,对短信验证码、通知、推广有不同限制,可以看看:https://help.aliyun.com/document_detail/52354.html?spm=5176.doc27414.6.756.4XRGOL

小白 says:

恩恩,最近在做短信验证。挺简单的。

倦意消 says: 回复

想要问问什么时候再更新呢?

歪麦 says: 作者

每一篇都需要整理编辑,所以是定期更新呢,不是一次全部更新哟:)

t
tccbest says: 回复

很喜欢楼主写的设计模式,简单易懂

歪麦 says: 作者

谢谢:)

p
php says: 回复

楼主 这网页的css和布局是自己写的吗 有没有用前端的框架啊

w
wz says: 回复

楼主 访问404啊

歪麦 says: 作者

在切换HTTPS,已经OK了。

打劫大人 says: 回复

感谢大佬分享,如果有QQ群或者微信号之类的讨论组就更好了

阿伦 says: 回复

好博客,希望大佬出新文章时,越通俗易懂越好,比如docker搭建lnmp,而我的方式只会在docker上拉取一个ubuntu镜像,然后在在ubuntu中搭建lnmp环境,看到你的这个composer包,感觉很好,很实用,但是还是不会用。可能本人资历尚浅的原因吧。希望大佬能理解。

歪麦 says: 作者

尽量。其实所有代码都不难的,只要一行一行研读,再串起来,就都能理解的。

j
js小菜是我 says: 回复

老哥稳的一批,以前只知6种现在知道更多了。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

昵称 *