background image

PHP

入门 解析 PHP 工厂模式

以下是对 PHP 工厂模式的优势的详细的分析介绍,
顾名思义,工厂是可以加工零件的,PHP 程序中的工厂模式也有相同的功能,可以方便
的使用一个静态的工厂方法来实例化某一个类,那么这样做的好处是什么呢?初学 PHP
的设计模式,以下是我个人的理解
一般我们实例化一个类会给它一些参数以便在其构析的时候可以根据不同的参数反馈出
我们需要的结果。
举例说明,以下是一个 User 类,非常简单:
代码如下:
 
<?php

interface

 IUser{

function

 getName();

function

 getAge();

}

class

 User 

implements

 IUser{

protected

 

$_name

;

protected

 

$_age

;

function

 __construct(

$name

$age

){

$this

->_name = 

$name

;

$this

->_age = (int)

$age

;

}

function

 getName(){

return

 

$this

->_name;

}

function

 getAge(){

return

 

$this

->_age;

}
}
?>
 
我们如果要实例化这个类就要这样:

$u

 = 

new

 User(‘

小明 ,19);

一般如果这个类很少使用,那么这样做没什么太大影响,也非常好。
突然我想给这个类增加一个归类,把小明放入学生组,修改下类代码实现非常容易,但
如果这个类在我们想修改之前在很多文件地方多次的实例化了,那么想为其增加一个参
数就会变的非常烦琐,因为需要替换成: