分类:推荐文章

怎样才算学会了 Laravel?

Laravel 框架是一个功能丰富、架构完善的框架,然而对于一个野路子 PHP 程序员来说要想上手不是那么简单的事,为什么呢? Laravel 的核心概念你掌握了吗? Laravel 中可能有许多你之前闻所未闻的概念,比如服务容器(Service Container) 、服务提供...

shanhuhai 3个月前 (09-06) 1063℃ 17喜欢

实例讲解PHP多态

当你学习OOP面向对象的时候也许经常会接触到“多态”这个概念,但是总是学了又忘忘了又学,其实多态是面向对象中是一个很基础的概念,它是许多设计模式的组成部分,今天我们来通过一个实例重温和回顾下什么是多态。 多态的定义 多态(Polymorphism )描述了类有不同的功能,但是他们...

shanhuhai 3个月前 (09-01) 355℃ 5喜欢

PHP设计模式之——适配器模式

前面几篇讲了观察者模式,这篇讲一下同样很有用的适配器模式。 “适配器”顾名思义,是用来做适配的,将不同规格的设备通过统一规格的适配器对接到你的系统中。 看一个简单的例子: <?php /** * 微博提供的登录类 * Class Weibo */ class We...

shanhuhai 3个月前 (08-29) 252℃ 2喜欢

PHP设计模式之——用观察者模式实现事件绑定

上一篇我们在观察者模式中加入了事件,插件可以根据不同的事件来做不同的业务处理,基本上很简单,我们直接通过主体对象携带事件名称即可。 下面我们要实现的是,只有在知道具体事件后才去实例化绑定了此事件的插件。 下面是具体的实现: <?php /** * Author: shan...

shanhuhai 3个月前 (08-28) 212℃ 2喜欢

PHP设计模式之——观察者模式(2)

上一篇通过一个简单的例子介绍了下什么是观察者模式,在实际的业务中,观察者应该对不同的情况做出不同的发应,这个其实很简单,我们加一个给主体对象加一个event的属性就ok了。 看对上一篇修改后的代码,可以自己对比下,改动并不大: <?php /** * 支持了事件的版本 ...

shanhuhai 3个月前 (08-27) 219℃ 2喜欢

PHP设计模式之——观察者模式

今天来介绍一个很有用的设计模式,“观察者模式”,顾名思义,既然有“观察者”, 那么一定就有“被观察者”,从这个层面可以理解到,在这个设计模式中有两个对象, 一个是主体对象,一个是客体对象,在实际的代码实现上实际是“被观察者”主动通知了“观察者”。“被观察者”是主体对象,现在看不懂...

shanhuhai 3个月前 (08-26) 287℃ 3喜欢

浅谈设计模式

设计模式是一系列的软件设计思想,这些思想是跨越语言和时间的,它们的主要作用是帮助我们设计出更好的程序。 也许你编程已经很多年了还从未接触过设计模式,不用慌张,很多人和你一样,不会设计模式并不会影响你完成业务代码,相反懂得了设计模式,也许你减慢你的开发速度,这听你起来有点耸人听闻,...

shanhuhai 3个月前 (08-25) 214℃ 2喜欢

MVC模式的优化方案(2)——剥离业务代码后的模型就是数据层

上一篇我们讲了在MVC架构中加入服务层,服务层的加入使我们的软件架构更加的容易理解和掌握。 原来的模型部分要负责业务代码和数据库处理,现在我们将业务部分抽取到服务层,这时候模型层只需要负责与数据库的交互,这样的形式跟主流php框架将模型设计与数据表一一对应的模式是一致的,从而解决...

shanhuhai 3个月前 (08-20) 201℃ 1喜欢

MVC模式的优化方案(1)——加入 Service 层

大部分程序员都知道 MVC 的软件设计方式,但是用了这么久的设计模式,你是否发出过疑问,目前的MVC设计方式有哪些问题,还有什么样的改进空间?今天来简单介绍下。 经典的MVC设计模式,其中 M(模型)、V(视图)、 C(控制器),其中模型中放是主要的业务代码和数据库交互,视图是软...

shanhuhai 3个月前 (08-19) 322℃ 2喜欢

程序员如何打造自己的知识库(2)——架构设计

上一篇我们讨论了程序员积累知识的重要性,这些知识我们称之为资产,对于程序员来说资产大概有 “代码片段”, “笔记”, “链接”。我们讲了实现这样一个知识仓库的大概思路,它必须要可以“随存随取”,因为程序员都很懒,你必须要很低成本的让他能记录,记录才会更容易发生。 架构设计 下面...

shanhuhai 3个月前 (08-16) 344℃ 3喜欢