亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

搜索
博主信息
博文 48
粉絲 3
評論 1
訪問量 45501
最新下載
更多>
網(wǎng)站特效
網(wǎng)站源碼
網(wǎng)站素材
前端模板
單例,工廠,注冊模式案例——2018年5月9日
JackBlog
原創(chuàng)
804人瀏覽過

實(shí)例

<?php
/**
 * 單例模式:單一實(shí)例,一個類僅允許實(shí)例化一次
 * 例如:
 * 1、一個站點(diǎn)僅僅創(chuàng)建出一個數(shù)據(jù)庫連接對象就夠了
 * 2、一個站點(diǎn)僅僅需要一個配置類對象就夠了
 *
 */

class Write
{
    private static $instance=null;
    private $content = [];

    private function __construct()
    {
    }
    private function __clone()
    {
        // TODO: Implement __clone() method.
    }
    public static function Instance()
    {
        if(self::$instance==null){
            self::$instance = new self();
        }
        return self::$instance;
    }

}
$instance = Write::Instance();
$instance1 = Write::Instance();
var_dump($instance,$instance1);

運(yùn)行實(shí)例 ?

點(diǎn)擊 "運(yùn)行實(shí)例" 按鈕查看在線實(shí)例

實(shí)例

<?php

/**
 * 工廠模式
 * Class Calculator
 *
 */
class Calculator
{
    public static function operation($symbol,array $num=[])
    {
        switch ($symbol){
            case '+':
                return new Add($num[0],$num[1]);
                break;
            case '-':
                return new Sub($num[0],$num[1]);
                break;
            case '*':
                return new Mul($num[0],$num[1]);
                break;
            case '/':
                return new Div($num[0],$num[1]);
                break;
        }
    }
}

class Add
{
    public $num1;
    public $num2;
    public function __construct($num1,$num2)
    {
        $this->num1 = $num1;
        $this->num2 = $num2;
    }
    public function result()
    {
        return $this->num1+$this->num2;
    }
}
class Sub
{
    public $num1;
    public $num2;
    public function __construct($num1,$num2)
    {
        $this->num1 = $num1;
        $this->num2 = $num2;
    }
    public function result()
    {
        return $this->num1-$this->num2;
    }
}
class Mul
{
    public $num1;
    public $num2;
    public function __construct($num1,$num2)
    {
        $this->num1 = $num1;
        $this->num2 = $num2;
    }
    public function result()
    {
        return $this->num1*$this->num2;
    }
}
class Div
{
    public $num1;
    public $num2;
    public function __construct($num1,$num2)
    {
        $this->num1 = $num1;
        $this->num2 = $num2;
    }
    public function result()
    {
        if($this->num2 != 0){
            return $this->num1/$this->num2;
        }else{
            return '除數(shù)不得為0';
        }

    }
}

$obj = Calculator::operation('+',[3,9]);
echo $obj->result().'<br>';

$obj = Calculator::operation('-',[55,9]);
echo $obj->result().'<br>';

$obj = Calculator::operation('*',[3,2]);
echo $obj->result().'<br>';

$obj = Calculator::operation('/',[3,3]);
echo $obj->result();

運(yùn)行實(shí)例 ?

點(diǎn)擊 "運(yùn)行實(shí)例" 按鈕查看在線實(shí)例

實(shí)例

<?php
/**
 * 注冊樹模式
 * Class Demo1
 */

class Demo1
{
}

class Demo2
{
}

class tree
{
    public static $objs = [];

    public static function set($index, $obj)
    {
        self::$objs[$index] = $obj;
    }

    public static function get($index)
    {
        return self::$objs[$index];
    }

    public static function del($index)
    {
        unset(self::$objs[$index]);
    }
}

tree::set('Demo1', new Demo1());
tree::set('Demo2', new Demo2());

var_dump(tree::get('Demo1'));
tree::del('Demo1');
var_dump(tree::get('Demo1'));

運(yùn)行實(shí)例 ?

點(diǎn)擊 "運(yùn)行實(shí)例" 按鈕查看在線實(shí)例


批改狀態(tài):未批改

老師批語:
本博文版權(quán)歸博主所有,轉(zhuǎn)載請注明地址!如有侵權(quán)、違法,請聯(lián)系admin@php.cn舉報(bào)處理!
全部評論 文明上網(wǎng)理性發(fā)言,請遵守新聞評論服務(wù)協(xié)議
0條評論
作者最新博文
關(guān)于我們 免責(zé)申明 意見反饋 講師合作 廣告合作 最新更新
php中文網(wǎng):公益在線php培訓(xùn),幫助PHP學(xué)習(xí)者快速成長!
關(guān)注服務(wù)號 技術(shù)交流群
PHP中文網(wǎng)訂閱號
每天精選資源文章推送
PHP中文網(wǎng)APP
隨時隨地碎片化學(xué)習(xí)
PHP中文網(wǎng)抖音號
發(fā)現(xiàn)有趣的

Copyright 2014-2025 http://ipnx.cn/ All Rights Reserved | php.cn | 湘ICP備2023035733號

  • 登錄PHP中文網(wǎng),和優(yōu)秀的人一起學(xué)習(xí)!
    全站2000+教程免費(fèi)學(xué)