建站学 - 轻松建站从此开始!

建站学-个人建站指南,网页制作,网站设计,网站制作教程

当前位置: 建站学 > 网站开发 > PHP教程 >

两个php常用的设计模式

时间:2011-04-22 10:19来源: 作者: 点击:
 给大家介绍2个php常用的设计模式,工厂模式和单列模式。 1. 工厂模式   工厂模式提供了一个在实时状态下实例化对象的机制。 <?php class creditCardProcessor {     public static function factory($provider)     {   &

 给大家介绍2个php常用的设计模式,工厂模式和单列模式。

1. 工厂模式

  工厂模式提供了一个在实时状态下实例化对象的机制。

<?php
class creditCardProcessor
{
    public static function factory($provider)
    {
        switch ($provider)
        {
            case 'Verisign':
                include "Verisign.php";
                break;
            case 'PayPal':
                include "Paypal.php";
                break;
            default:
                exit("Invalid CC Provider");
      }
      return new $provider;
    }
}
$cc = creditCardProcessor::factory('PayPal');
?>  

2. 单例模式

  单例模式在确保只有一个实例运行时使用,也可以用来防止类通过clone来复制。

class dbMysgl
{
    private static $conn;
    private function __construct()
    {
        $this->conn = mysgl connect(host, login, pass);
    }
    public static function singleton()
    {
        if(!self::$conn)
        {
            $c = __CLASS__;
            self::$conn = new $c;
        }
        return self::$conn;
    }
    public function __clone()
    {
        trigger_error("Only one connection may exist");
    }
}
$db = new dbMysgl();        // 失败
$db = dbMysgl::singleton(); // 使用的正确方法
$db2 = clone($db);          // 失败

(责任编辑:admin)
织梦二维码生成器
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片