Php面向对象 – 单例模式_PHP教程
Php面向对象 – 单例模式
Php面向对象 – 单例模式
保证类只有一个实例
1. 如何可以解决一个类可以被无限地实例化?
New,就能实例化一次,怎么去限制,用户不能无限次地new?
将构造方法私有化。所有外部的new都操作失败
class MySQLDB
{
private function __construct()
{
}
}
2. 一旦构造方法私有化,意味着类不能再类外实例化。但可以在类内实例化。
增加一个公共的静态方法,通过类来调用该方法,在方法内可以执行new操作。
class MySQLDB
{
private function __construct()
{
}
public static function getInstance()
{
return new MySQLDB;
}
}
$o = MySQLDB::getInstance();
此时,用户需要该类的对象,方法内的代码就会执行,因此,我们可以通过完善方法内的逻辑,限制用户得到对象的操作。
3. 在上面的方法内,使用这样的逻辑:每次执行时做判断,判断该类是否已经实例化对象,如果实例化了,则直接返回这个实例化好的对象。如果没有实例化,则实例化一个新的,然后返回。
如何判断?
在这个对象被实例化出来时,保存起来。
例子:
class MySQLDB
{
private static $instance;
private function __construct()
{
}
public static function getInstance()
{
if(!self::$instance instanceof self)
{
self::$instance= new self;
}
return self::$instance;
}
}
4. 克隆也可以得到新对象,因此需要限制克隆。
私有化 __clone()方法
class MySQLDB
{
private static $instance;
private function __construct()
{
}
private function __clone()
{
}
public static function getInstance()
{
if(!self::$instance instanceof self)
{
self::$instance= new self;
}
return self::$instance;
}
}

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Apakah maksud mod Jangan Ganggu WeChat Pada masa kini, dengan populariti telefon pintar dan perkembangan pesat Internet mudah alih, platform media sosial telah menjadi bahagian yang amat diperlukan dalam kehidupan seharian orang ramai. WeChat ialah salah satu platform media sosial paling popular di China, dan hampir semua orang mempunyai akaun WeChat. Kita boleh berkomunikasi dengan rakan, keluarga dan rakan sekerja dalam masa nyata melalui WeChat, berkongsi detik dalam hidup kita dan memahami situasi semasa satu sama lain. Namun begitu, dalam era ini, sudah pasti kita juga berdepan dengan masalah sarat maklumat dan kebocoran privasi terutamanya bagi mereka yang perlu fokus atau

Peranti iOS telah lama dapat menjejaki corak tidur anda dan banyak lagi menggunakan apl Kesihatan. Tetapi bukankah ia menjengkelkan apabila anda diganggu oleh pemberitahuan semasa anda sedang tidur? Pemberitahuan ini mungkin tidak relevan dan oleh itu mengganggu corak tidur anda dalam proses. Walaupun mod Jangan Ganggu ialah cara terbaik untuk mengelakkan gangguan semasa tidur, ia boleh menyebabkan anda terlepas panggilan dan mesej penting yang anda terima pada waktu malam. Syukurlah, di sinilah mod tidur masuk. Mari ketahui lebih lanjut mengenainya dan cara menggunakannya pada iPhone. Apakah peranan yang dimainkan oleh mod tidur pada iPhone Mod tidur ialah mod fokus khusus dalam iOS yang diaktifkan secara automatik berdasarkan jadual tidur anda dalam apl "Kesihatan". Ia membantu anda menetapkan penggera dan kemudian

Malah menjawab panggilan dalam mod Jangan Ganggu boleh menjadi pengalaman yang sangat menjengkelkan. Seperti namanya, mod Jangan Ganggu mematikan semua pemberitahuan panggilan masuk dan makluman daripada e-mel, mesej, dsb. Anda boleh mengikuti set penyelesaian ini untuk membetulkannya. Betulkan 1 – Dayakan Mod Fokus Dayakan mod fokus pada telefon anda. Langkah 1 – Leret ke bawah dari atas untuk mengakses Pusat Kawalan. Langkah 2 – Seterusnya, dayakan “Mod Fokus” pada telefon anda. Mod Fokus mendayakan mod Jangan Ganggu pada telefon anda. Ia tidak akan menyebabkan sebarang makluman panggilan masuk muncul pada telefon anda. Betulkan 2 – Tukar Tetapan Mod Fokus Jika terdapat beberapa isu dalam tetapan mod fokus, anda harus membetulkannya. Langkah 1 – Buka tetingkap tetapan iPhone anda. Langkah 2 – Seterusnya, hidupkan tetapan mod Fokus

JSON (JavaScriptObjectNotation) ialah format pertukaran data ringan yang telah menjadi format biasa untuk pertukaran data antara aplikasi web. Fungsi json_encode() PHP boleh menukar tatasusunan atau objek kepada rentetan JSON. Artikel ini akan memperkenalkan cara menggunakan fungsi json_encode() PHP, termasuk sintaks, parameter, nilai pulangan dan contoh khusus. Sintaks Sintaks fungsi json_encode() adalah seperti berikut: st

Windows dalam mod S direka untuk menyediakan keselamatan dan prestasi yang dipertingkatkan dengan hanya membenarkan pemasangan apl daripada Gedung Microsoft. Walaupun ciri ini membantu menghalang perisian hasad dan memastikan persekitaran pengkomputeran yang selamat, ciri ini mungkin mengehadkan pengguna yang ingin memasang aplikasi daripada sumber selain daripada Gedung Microsoft. Jika anda mendapati diri anda dalam situasi ini dan terus bertanya kepada diri sendiri bagaimana untuk keluar daripada Mod S dalam Windows 10/11, maka anda telah datang ke tempat yang betul kerana kami akan membimbing anda melalui cara untuk keluar dari Mod S dalam Windows 10/11 menggunakan dua kaedah berbeza Langkah ke Mod S memastikan anda boleh menikmati kebebasan memasang apl dari mana-mana sahaja yang anda pilih. Ketahui cara untuk keluar daripada mod S dalam Windows

Pada model iPhone 15 Pro dan iPhone 15 Pro Max, Apple memperkenalkan butang tindakan boleh atur cara secara fizikal yang menggantikan suis deringan/senyap tradisional di atas butang kelantangan. Butang tindakan boleh diprogramkan untuk melaksanakan beberapa fungsi yang berbeza, tetapi keupayaan untuk bertukar antara mod senyap dan deringan tidak hilang. Secara lalai, tekan lama pada butang tindakan akan menyenyapkan peranti dan maklum balas sentuhan butang akan berdenyut tiga kali. Kedua-dua model iPhone 15 Pro akan memaparkan simbol loceng berpalang di sebelah masa dalam bar status untuk menunjukkan bahawa mod senyap/senyap diaktifkan, dan ia akan kekal sedemikian sehingga anda menekan lama butang Tindakan sekali lagi untuk menyahredam peranti. Jika anda lebih suka meletakkan iPhone anda dalam mod senyap

Mod siap sedia akan datang ke iPhone dengan iOS17, dan panduan ini bertujuan untuk menunjukkan kepada anda cara menggunakan ciri ini pada iPhone anda. Mod Siap Sedia ialah ciri terobosan yang mengubah iPhone menjadi paparan pintar yang dinamik dan sentiasa hidup. Apabila iPhone anda diletakkan secara mendatar di sisinya semasa mengecas, ia mengaktifkan mod siap sedia. Mod ini dengan cantik mempamerkan pelbagai widget berguna, termasuk tetapi tidak terhad kepada masa semasa, kemas kini cuaca tempatan, tayangan slaid foto kegemaran anda dan juga kawalan main balik muzik. Kelebihan ketara mod ini ialah keupayaannya untuk memaparkan pemberitahuan, membolehkan pengguna melihat dan berinteraksi dengan mereka tanpa perlu membangunkan iPhone mereka sepenuhnya. Cara Menggunakan Mod Siap Sedia Untuk Mod Siap Sedia berfungsi dengan baik, iPhone anda mesti berjalan i

Begini cara untuk menukar tatasusunan hasil pertanyaan MySQL kepada objek: Cipta tatasusunan objek kosong. Gelung melalui tatasusunan yang terhasil dan buat objek baharu untuk setiap baris. Gunakan gelung foreach untuk menetapkan pasangan nilai kunci setiap baris kepada sifat yang sepadan bagi objek baharu. Menambah objek baharu pada tatasusunan objek. Tutup sambungan pangkalan data.
