PHP高级对象构建 工厂模式的使用

 更新时间:2012年02月05日 23:43:16   作者:  
工厂模式包含普通工厂模式和抽象工厂模式,但是,不管是什么工厂模式,它们都是有一个作用,那就是生成对象

PHP设计模式工厂模式的使用方法

复制代码 代码如下:

<?php
/*
* 每日练习 PHP设计模式工厂模式的使用方法
* PHP工厂模式不难理解,顾名思义,就是一个加工厂,然后工厂是制造产品的,只要制造产品
* 就必须有几个要素:"方法","模型","工厂车间"。
*/
/*第一种示例 普通工厂模式
* */
abstract class model {//产品模型
abstract function getNames();
}
class zhangsan extends model {//产品实例
function getNames(){
return "my name is zhengsan";
}
}
class lisi extends model{//产品实例
function getNames(){
return "my name is lisi";
}
}
abstract class gongchangModel {//工厂模型
abstract function getZhangsan();
abstract function getLisi();
}
class gongchang extends gongchangModel{//工厂实例
function getZhangsan(){
return new zhangsan();
}
function getLisi(){
return new lisi();
}
}
$gongchang=new gongchang();//实例化工厂
$zhangsan=$gongchang->getZhangsan();//制造产品
echo $zhangsan->getNames();//产品输出功能
?>

之前我写去关于工厂设计模式的文章,实际上,工厂模式包含普通工厂模式和抽象工厂模式,但是,不管是什么工厂模式,它们都是有一个作用,那就是生成对象。
好了,那我们用下面最最简单的例子,再把PHP设计模式中的厂模式再演示一下。
我自己总结了一下,工厂模式的三个要素:
一、产品模型
二、产品实例
三、工厂车间
复制代码 代码如下:

<?php
abstract class prModel {//产品模型
abstract function link();
}
class webLink extends prModel{//实例一个产品
public function link(){
echo "www.jb51.net";
}
}
class gongchang {//工厂
static public function createLink (){
return new webLink();
}
}
$weblink=gongchang::createLink();//通过工厂制造一个对象
$weblink->link();//输出 www.jb51.net
?>

以上方法,就简单的说明了工厂类的使用方法。关注面向对象

相关文章

  • 关于PHP实现异步操作的研究

    关于PHP实现异步操作的研究

    一般来说PHP适用的场合是web页面展示等耗时比较短的任务,如果对于比较花时间的操作如resize图片、大数据导入、批量发送EDM、SMS等,就很容易出现操作超时情况
    2013-02-02
  • PHP pthreads v3使用中的一些坑和注意点分析

    PHP pthreads v3使用中的一些坑和注意点分析

    这篇文章主要介绍了PHP pthreads v3使用中的一些坑和注意点,总结分析了PHP pthreads v3使用过程中经常遇到的各种问题及相关操作注意事项,需要的朋友可以参考下
    2020-02-02
  • 附件名前加网站名

    附件名前加网站名

    论坛应用,我们在下载文件的时候自动加我们的版权等,这是个思路,asp也一样的原理
    2008-03-03
  • php中导出数据到excel时数字变为科学计数的解决方法

    php中导出数据到excel时数字变为科学计数的解决方法

    导出数据到excel时数字变为科学计数的解决方法,有需要的朋友可以参考下
    2013-02-02
  • php面向对象中static静态属性和静态方法的调用

    php面向对象中static静态属性和静态方法的调用

    这篇文章主要介绍了php面向对象中static静态属性和静态方法的调用,实例分析了static静态属性和静态方法的原理与调用技巧,需要的朋友可以参考下
    2015-02-02
  • PHPCMS的使用小结

    PHPCMS的使用小结

    前段时间仔细看了一下PHPCMS这套开源的系统,实现了程序与模板分离,觉得写得真的不错。本人很少关注开源系统,尤其是PHP的,觉得PHP本身就是一个宠大的函数库,不过几千个系统函数确实解决了不少问题。
    2010-09-09
  • 利用PHPExcel导出excel文件的方法详解

    利用PHPExcel导出excel文件的方法详解

    PHPExcel是一款非常强大的PHP操作EXCEL库,使用PHPExcel可以帮助我们简单、高效实现从Excel读取Excel的数据和导出数据到Excel。本文为大家介绍了PHPExcel导出excel文件的用法,需要的可以参考一下
    2022-08-08
  • PHP的autoload机制的实现解析

    PHP的autoload机制的实现解析

    在使用PHP的OO模式开发系统时,通常大家习惯上将每个类的实现都存放在一个单独的文件里,这样会很容易实现对类进行复用,同时将来维护时也很便利
    2012-09-09
  • PHP版 汉字转码的实现详解

    PHP版 汉字转码的实现详解

    本篇文章是对用php实现汉字转码进行了详细的分析介绍,需要的朋友参考下
    2013-06-06
  • php getimagesize 上传图片的长度和宽度检测代码

    php getimagesize 上传图片的长度和宽度检测代码

    getimagesize — 取得图像大小
    2010-05-05

最新评论