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() { } }
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();
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!