随笔分类 - php设计模式
php设计模式
摘要:用于确定一个 PHP 变量是否属于某一类 class 的实例 强制写法: (不传闭包会报错) 参考:http://php.net/manual/zh/language.operators.type.php
阅读全文
摘要:APO的主要思路 (__call魔术方法:调用一个没有的方法时执行) 测试 : 结果: 最后:细心的读者可能注意到 抽象类Event 没有用到 这个其实可以让 Person 和Dog 继承然后重写 before()和after(),这样每一个类都有自己的前置和后置通知了...
阅读全文
摘要:注意的是注解格式 必须是 /** 开头的 请参考 : https://www.phpdoc.org/ /* 和// 等注释型的都获取失败.
阅读全文
摘要:php 面向对象中实现链式操作的关键部分:调用的方法中返回当前对象 ,从而实现链式操作; 这样就可以实现链式操作 转: https://www.cnblogs.com/lilili/p/5145963.html
阅读全文
摘要:先说一下在什么场景会使用这个事件功能。 事情大概是这样的,需求要在用户注册的时候发一些帮助邮件给用户(原本用户在注册之后已经有发别的邮件的了,短信,IM什么的) 原来这个注册的方法也就10多行代码。但是有时候我们为了省事,直接在注册代码后面添加了各种代码。 例如这个注册方法本来是这样的 现在有一个需
阅读全文
摘要:看这篇文章先复习一下设计模式 : https://www.cnblogs.com/fps2tao/p/9640338.html 在理解了观察者模式后,我们开始正文 Laravel 的事件提供了一个简单的观察者实现,能够订阅和监听应用中发生的各种事件。事件类保存在 app/Events 目录中,而这些
阅读全文
摘要:策略模式 策略模式是对象的行为模式,用意是对一组算法的封装。动态的选择需要的算法并使用。 策略模式指的是程序中涉及决策控制的一种模式。策略模式功能非常强大,因为这个设计模式本身的核心思想就是面向对象编程的多形性思想。 策略模式的三个角色: 1.抽象策略角色 2.具体策略角色 3.环境角色(对抽象策略
阅读全文
摘要:代理模式(Proxy Pattern) : 给某一个对象提供一个代 理,并由代理对象控制对原对象的引用。代理模式的英 文叫做Proxy或Surrogate,它是一种对象结构型模式 模式动机: 在某些情况下,一个客户不想或者不能直接引用一个对 象,此时可以通过一个称之为“代理”的第三者来实现 间接引用
阅读全文
摘要:故事背景: 问题: 在传统的OOP(面向对象编程:Object-Oriented Programming)思想里,一般把应用程序分解成若干个的对象,强调高内聚,弱耦合,从而提高应用程序的模块化程度,但是在处理某些问题的时候,OOP会显得不够灵活, 比如说,应用程序里很多业务逻辑都要在操作之初进行“权
阅读全文
摘要:AOP是OOP的延续,是Aspect Oriented Programming的缩写,意思是面向方面编程,有的又称之为面向切面编程。在企业级开发中面向方面编程很有用。比如,我们在调用某些特定的方法之前,我们需要作一个日志记录,调用方法之后,我们还需要一个日志记录。我们先来看看不使用AOP,我们在PH
阅读全文
摘要:这是我写的《php模式设计》的第五篇。前面的四篇在不断学习不断加深认识,到了今天再看观察者模式,觉得非常容易理解。这也许就是我们积少成多的结果吧。希望还是能够不断进步。 开篇还是从名字说起,“观察者模式”的观察者三个字信息量很大。玩过很多网络游戏的童鞋们应该知道,即便是斗地主,除了玩家,还有一个角色
阅读全文