国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

Rumah php教程 PHP源碼 PHP 單例模式實現(xiàn)

PHP 單例模式實現(xiàn)

Nov 09, 2016 pm 02:28 PM

<?php


 * Class Singleton
 * 單例模式,也叫單子模式,是一種常用的軟件設計模式。在應用這個模式時,單例對象的類必須保證只有一個實例存在,
 * 充分體現(xiàn)了 DRY(Don&#39;t Repeat Yourself)的思想。
 *
 * 實現(xiàn)單例模式的思路是:一個類能返回對象一個引用(永遠是同一個)和一個獲得該實例的方法(必須是靜態(tài)方法,通常使用getInstance這個名稱);
 * 當我們調用這個方法時,如果類持有的引用不為空就返回這個引用,如果類保持的引用為空就創(chuàng)建該類的實例并將實例的引用賦予該類保持的引用;
 * 同時我們還將該類的構造函數(shù)定義為私有方法,這樣其他處的代碼就無法通過調用該類的構造函數(shù)來實例化該類的對象,只有通過該類提供的靜態(tài)方法來得到該類的唯一實例。
 *
 * 應用場景:適用于一個類只有一個實例的場景。數(shù)據(jù)庫連接,日志記錄,購物車
 * 缺點:PHP運行是頁面級別的,無法直接實現(xiàn)跨頁面的內存數(shù)據(jù)共享。
 */
class Singleton
{
    //保存類實例的私有的靜態(tài)成員變量
    private static $_instance;
    //私有的構造方法
    private function __construct()
    {
        echo &#39;This is a Constructed method;&#39;;
    }
    //創(chuàng)建一個空的私有__clone方法防止對象被克隆
    private function __clone()
    {
    }
    //單例方法,用于獲取唯一的實例對象
    public static function getInstance()
    {
        if (!(self::$_instance instanceof self)) {
            //instanceof用于檢測對象與類的從屬關系,is_subclass_of對象所屬類是否類的子類
            self::$_instance = new self();
        }
        return self::$_instance;
    }
    //測試
    public function test()
    {
        echo 123;
    }
}
$a = Singleton::getInstance();
$a->test();
echo PHP_EOL;
$b = Singleton::getInstance(); //第二次調用時不執(zhí)行構造方法
$b->test();
echo PHP_EOL;
//$c=new Singleton();由于構造方法私有,這個會報錯的
//$d=clone $a;克隆對象報錯

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Tutorial PHP
1502
276