Rumah > pembangunan bahagian belakang > tutorial php > Bagaimana untuk Melaksanakan Corak Reka Bentuk Singleton dalam PHP5?

Bagaimana untuk Melaksanakan Corak Reka Bentuk Singleton dalam PHP5?

DDD
Lepaskan: 2024-12-13 03:08:08
asal
613 orang telah melayarinya

How to Implement the Singleton Design Pattern in PHP5?

Corak Reka Bentuk Singleton dalam PHP5

Melaksanakan corak reka bentuk Singleton dalam PHP5 melibatkan penciptaan kelas yang boleh mempunyai hanya satu contoh, tanpa mengira cara berkali-kali ia dibuat seketika. Ini dicapai dengan menggunakan pembolehubah statik untuk menyimpan contoh tunggal dan menghalang pengklonan atau penyahsirisian.

Berikut ialah contoh cara mencipta kelas Singleton dalam PHP5:

final class UserFactory
{
    private static $inst = null;

    // Prevent cloning and de-serializing
    private function __clone(){}
    private function __wakeup(){}

    /**
     * Call this method to get singleton
     *
     * @return UserFactory
     */
    public static function Instance()
    {
        if self::$inst === null) {
            self::$inst = new UserFactory();
        }
        return self::$inst;
    }

    /**
     * Private ctor so nobody else can instantiate it
     *
     */
    private function __construct()
    {

    }
}
Salin selepas log masuk

Ini pelaksanaan menggunakan pembolehubah statik $inst untuk menyimpan contoh tunggal kelas UserFactory. Kaedah Instance() berfungsi sebagai pengambil tunggal. Jika $inst adalah batal, tika baharu dicipta dan diberikan kepada $inst.

Untuk menggunakan kelas Singleton ini, cuma panggil kaedah Instance() untuk mendapatkan tika tunggal:

$fact = UserFactory::Instance();
$fact2 = UserFactory::Instance();
Salin selepas log masuk

Membandingkan $fact dan $fact2 akan menghasilkan benar, mengesahkan bahawa ia adalah contoh yang sama.

Walau bagaimanapun, cuba untuk instantiate objek UserFactory baharu secara langsung menggunakan UserFactory() baru akan membuang ralat kerana pembina dibuat peribadi. Satu-satunya cara untuk mendapatkan contoh kelas UserFactory adalah melalui kaedah Instance().

Atas ialah kandungan terperinci Bagaimana untuk Melaksanakan Corak Reka Bentuk Singleton dalam PHP5?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan