Rumah >pembangunan bahagian belakang >masalah PHP >Apakah corak reka bentuk minat mudah dalam PHP?
Pola reka bentuk minat tunggal PHP termasuk: 1. Mod singleton gaya lapar, yang merujuk kepada mencipta tika apabila kelas dimuatkan dan kemudian mengembalikan tika itu secara terus 2. Mod tunggal gaya malas, mendapatkan tika pada yang pertama Kaedah panggilan digunakan untuk mencipta contoh untuk mencapai pemuatan tertangguh; pembolehubah menyimpan contoh dalam pembolehubah statik dan menyediakan kaedah statik untuk mendapatkan contoh untuk mencapai keselamatan benang mudah.
Persekitaran pengendalian artikel ini: sistem Windows 10, versi PHP 8.1.3, komputer Dell G3.
Corak reka bentuk tunggal PHP ialah corak reka bentuk yang biasa digunakan, yang digunakan untuk memastikan kelas hanya mempunyai satu tika dan menyediakan pusat akses global.
Dalam PHP, terdapat beberapa cara untuk melaksanakan corak reka bentuk singleton:
Corak singleton gaya lapar
Corak singleton lapar-Cina bermaksud untuk mencipta contoh apabila kelas dimuatkan, dan kemudian kembalikan terus Contoh. Kelebihan kaedah ini ialah ia mudah untuk dilaksanakan dan selamat untuk benang, tetapi kelemahannya ialah pemuatan malas tidak dapat dicapai.
class Singleton { private static $instance = new Singleton(); private function __construct() {} public static function getInstance() { return self::$instance; } }
Lazy Singleton Pattern
Lazy Singleton Pattern bermaksud tikas dicipta hanya apabila kaedah untuk mendapatkan tika itu dipanggil buat kali pertama. Kelebihan pendekatan ini ialah ia boleh melaksanakan pemuatan malas, tetapi kelemahannya ialah isu keselamatan benang mungkin berlaku dalam persekitaran berbilang benang.
class Singleton { private static $instance = null; private function __construct() {} public static function getInstance() { if (self::$instance == null) { self::$instance = new Singleton(); } return self::$instance; } }
Double check mengunci mod singleton
Double check mengunci mod singleton adalah berdasarkan mod singleton malas dan memastikan keselamatan benang melalui penguncian. Kelebihan pendekatan ini ialah ia mencapai pemuatan malas dan keselamatan benang, tetapi kelemahannya ialah ia meningkatkan kerumitan kod.
class Singleton { private static $instance = null; private function __construct() {} public static function getInstance() { if (self::$instance == null) { synchronized(self::class) { if (self::$instance == null) { self::$instance = new Singleton(); } } } return self::$instance; } }
Corak Singleton menggunakan pembolehubah statik
Corak Singleton menggunakan pembolehubah statik bermaksud menyimpan contoh dalam pembolehubah statik dan menyediakan kaedah statik untuk mendapatkan contoh. Kelebihan kaedah ini ialah ia mudah dilaksanakan dan selamat untuk benang, tetapi kelemahannya ialah pemuatan malas tidak dapat dicapai.
class Singleton { private static $instance = null; private function __construct() {} public static function getInstance() { if (self::$instance == null) { self::$instance = new Singleton(); } return self::$instance; } }
Di atas adalah kaedah pelaksanaan beberapa corak reka bentuk tunggal PHP biasa. Bergantung pada keperluan dan senario khusus, anda boleh memilih cara yang sesuai untuk melaksanakan singleton.
Atas ialah kandungan terperinci Apakah corak reka bentuk minat mudah dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!