cari
Rumahpembangunan bahagian belakangtutorial phpCorak singleton dalam corak reka bentuk dan aplikasi dalam PHP

Corak singleton dalam corak reka bentuk dan aplikasi dalam PHP

Corak tunggal dalam corak reka bentuk dan aplikasinya dalam PHP

Pengenalan:
Corak reka bentuk ialah beberapa corak klasik untuk menyelesaikan masalah khusus yang diringkaskan oleh jurutera perisian berpengalaman semasa proses reka bentuk perisian. Antaranya, corak singleton adalah salah satu corak reka bentuk yang paling biasa digunakan. Corak tunggal memastikan bahawa kelas hanya mempunyai satu tika dan menyediakan pusat akses global untuk mengakses tika ini. Dalam PHP, corak tunggal digunakan secara meluas dalam pelbagai senario. Artikel ini akan memperkenalkan konsep, ciri dan aplikasi khusus corak tunggal dalam PHP secara terperinci, dan juga memberikan contoh kod yang berkaitan.

1. Konsep corak tunggal
Corak tunggal ialah corak reka bentuk ciptaan, yang memastikan bahawa kelas hanya mempunyai satu tika dan menyediakan titik akses global untuk mengakses tika ini. Tujuan utama corak tunggal adalah untuk mengehadkan bilangan instantiasi kelas, menjimatkan sumber sistem dan menyediakan akses global kepada objek.

Ciri-ciri utama corak tunggal termasuk:

  1. Sebuah kelas hanya boleh mempunyai satu contoh;
  2. mesti mencipta contoh ini dengan sendirinya;
  3. 2. Cara melaksanakan corak tunggal
Terdapat banyak cara untuk melaksanakan corak tunggal Dua kaedah yang biasa digunakan diperkenalkan di bawah.


Corak Singleton Lazy:
    Corak Singleton Lazy hanya mencipta tika objek apabila ia digunakan buat kali pertama. Kod pelaksanaan khusus adalah seperti berikut:

  1. class Singleton {
       private static $instance;
       
       private function __construct() {}   // 私有化构造函数
       
       public static function getInstance() {
          if (self::$instance == null) {
             self::$instance = new Singleton();
          }
          return self::$instance;
       }
    }
  2. Dalam kod di atas, kaedah getInstance() digunakan untuk mendapatkan satu-satunya tika kelas Singleton. Jika tika itu tidak wujud, buatnya Jika tika itu sudah wujud, kembalikannya secara langsung. Kaedah ini menggunakan pembolehubah statik $instance untuk menyimpan sama ada objek telah dibuat instantiated, dan diakses melalui kata kunci diri.

Corak singleton Cina lapar:
    Corak singleton Cina lapar mencipta tika objek apabila kelas dimuatkan. Kod pelaksanaan khusus adalah seperti berikut:

  1. class Singleton {
       private static $instance = new Singleton();
       
       private function __construct() {}   // 私有化构造函数
       
       public static function getInstance() {
          return self::$instance;
       }
    }
  2. Dalam kod di atas, pembolehubah $instance ditakrifkan sebagai peribadi dan dimulakan apabila kelas dimuatkan. Kaedah getInstance() boleh terus mengembalikan contoh ini.

3. Senario aplikasi mod Singleton dalam PHP

Mod tunggal digunakan secara meluas dalam banyak senario dalam PHP, seperti sambungan pangkalan data, pengelogan, fail konfigurasi, dll.


Ambil sambungan pangkalan data sebagai contoh Penciptaan sambungan pangkalan data biasanya merupakan operasi yang sangat memakan sumber. Mod tunggal memastikan bahawa hanya satu contoh sambungan pangkalan data wujud dan menyediakan pusat akses global untuk digunakan oleh modul lain, dengan itu mengelakkan sejumlah besar operasi penciptaan sambungan berulang dan meningkatkan prestasi sistem. Kod khusus adalah seperti berikut:

class Database {
   private static $instance;
   
   private function __construct() {}   // 私有化构造函数
   
   public static function getInstance() {
      if (self::$instance == null) {
         self::$instance = new Database();
         // 创建数据库连接
      }
      return self::$instance;
   }
}

Dalam kod di atas, satu-satunya contoh kelas Pangkalan Data diperoleh melalui kaedah getInstance() dan sambungan pangkalan data dibuat apabila tika itu diperoleh buat kali pertama. Seperti yang anda lihat, selepas menggunakan mod tunggal ini, anda boleh mendapatkan contoh sambungan pangkalan data melalui Pangkalan Data::getInstance() di mana-mana dalam sistem.

4 Ringkasan

Artikel ini memperkenalkan corak tunggal dalam corak reka bentuk dan aplikasi khusus dalam PHP secara terperinci. Corak tunggal memastikan bahawa kelas hanya mempunyai satu contoh, menyediakan pusat akses global untuk mengakses tika ini, mengelakkan operasi penciptaan objek berulang, dan dengan itu meningkatkan prestasi sistem. Dalam PHP, mod tunggal digunakan secara meluas dalam pelbagai senario, seperti sambungan pangkalan data, pengelogan, dll. Dengan membaca artikel ini, pembaca boleh mempunyai pemahaman yang lebih mendalam tentang konsep dan pelaksanaan corak tunggal, dan boleh menggunakannya secara fleksibel dalam pembangunan sebenar.

Atas ialah kandungan terperinci Corak singleton dalam corak reka bentuk dan aplikasi dalam PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan
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
Cara membuat aplikasi php lebih cepatCara membuat aplikasi php lebih cepatMay 12, 2025 am 12:12 AM

Tomakephpapplicationsfaster, ikutiTheseSteps: 1) UseopcodecachinglikeopcachetostorePrecompiledscriptbytecode.2) minimizedatabasequeriesbyusingquerycachingandeficientindexing.3)

Senarai Semak Pengoptimuman Prestasi PHP: Meningkatkan Kelajuan SekarangSenarai Semak Pengoptimuman Prestasi PHP: Meningkatkan Kelajuan SekarangMay 12, 2025 am 12:07 AM

ToimprovePhpapPlicationspeed, ikutiTheSesteps: 1) EnableopCodeCachingWithApcutoreduceScriptExecutionTime.2) pelaksanaanDatabasequerycachingingPdotominimizedataBaseHits.3)

Suntikan Ketergantungan PHP: Meningkatkan kebolehlaksanaan kodSuntikan Ketergantungan PHP: Meningkatkan kebolehlaksanaan kodMay 12, 2025 am 12:03 AM

Suntikan ketergantungan (DI) dengan ketara meningkatkan kesesuaian kod PHP oleh kebergantungan transitif secara eksplisit. 1) Kelas Decoupling dan pelaksanaan khusus menjadikan ujian dan penyelenggaraan lebih fleksibel. 2) Di antara tiga jenis, pembina menyuntik kebergantungan ekspresi eksplisit untuk memastikan keadaan konsisten. 3) Gunakan bekas DI untuk menguruskan kebergantungan kompleks untuk meningkatkan kualiti kod dan kecekapan pembangunan.

Pengoptimuman Prestasi PHP: Pengoptimuman Pertanyaan Pangkalan DataPengoptimuman Prestasi PHP: Pengoptimuman Pertanyaan Pangkalan DataMay 12, 2025 am 12:02 AM

DatabaseQueryoptimizationInpinvolvesseverSlegatiesToenhancePratePratePratePratePratePregiesToRperformance.1) selectOnlynessaryColumnStoReducedatatatransfer.2) UseIndexingTospeedupdatareTrieval.3) PrevancequerycachingToStoreresultSoffReFfeFfffffffffffffffffffffffffffffffffffffffffffferseprewfffffffffffersepresseprespersepresperseprespersepresperseprespersepresperseprespers

Panduan Mudah: Menghantar E -mel dengan Skrip PHPPanduan Mudah: Menghantar E -mel dengan Skrip PHPMay 12, 2025 am 12:02 AM

Phpisusedforsendingemailsduetoitsbuilt-inmail () functionAndSupportivelibrariesLikePhpmailerandswiftmailer.1) usethemail () functionforbasiceMails, butithaslimitations.2) scorkphpmailerforadvancedfeatures

Prestasi PHP: Mengenalpasti dan menetapkan kesesakanPrestasi PHP: Mengenalpasti dan menetapkan kesesakanMay 11, 2025 am 12:13 AM

Kesesakan prestasi PHP boleh diselesaikan melalui langkah -langkah berikut: 1) Gunakan XDEBUG atau Blackfire untuk analisis prestasi untuk mengetahui masalah; 2) Mengoptimumkan pertanyaan pangkalan data dan menggunakan cache, seperti APCU; 3) Gunakan fungsi yang cekap seperti array_filter untuk mengoptimumkan operasi array; 4) Konfigurasi Opcache untuk cache bytecode; 5) mengoptimumkan bahagian depan, seperti mengurangkan permintaan HTTP dan mengoptimumkan gambar; 6) Memantau dan mengoptimumkan prestasi secara berterusan. Melalui kaedah ini, prestasi aplikasi PHP dapat ditingkatkan dengan ketara.

Suntikan Ketergantungan untuk PHP: Ringkasan CepatSuntikan Ketergantungan untuk PHP: Ringkasan CepatMay 11, 2025 am 12:09 AM

DependencyInjection (DI) inphpisadesignPatternThatManagesandReducesclassdependencies, enhancingcodemodularity, testility, andmaintainability.itallowspassingdependenciesLikedatabaseconnectionstoclassesesparameters, fasilitasieAseAsiShanandscalability.

Meningkatkan Prestasi PHP: Strategi & Teknik CachingMeningkatkan Prestasi PHP: Strategi & Teknik CachingMay 11, 2025 am 12:08 AM

CachingimprovesphpperformanceSbebyStoringResultsofcomputationsorqueriesforquickretrieval, reducingserverloadandenhancingResponsetimes.effectiveStRegiesClude: 1) Opcodecaching, yang

See all articles

Alat AI Hot

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.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

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!

Artikel Panas

Nordhold: Sistem Fusion, dijelaskan
3 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌
Mandragora: Whispers of the Witch Tree - Cara Membuka Kunci Cangkuk Bergelut
3 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌

Alat panas

Muat turun versi mac editor Atom

Muat turun versi mac editor Atom

Editor sumber terbuka yang paling popular

SublimeText3 versi Inggeris

SublimeText3 versi Inggeris

Disyorkan: Versi Win, menyokong gesaan kod!

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

EditPlus versi Cina retak

EditPlus versi Cina retak

Saiz kecil, penyerlahan sintaks, tidak menyokong fungsi gesaan kod

DVWA

DVWA

Damn Vulnerable Web App (DVWA) ialah aplikasi web PHP/MySQL yang sangat terdedah. Matlamat utamanya adalah untuk menjadi bantuan bagi profesional keselamatan untuk menguji kemahiran dan alatan mereka dalam persekitaran undang-undang, untuk membantu pembangun web lebih memahami proses mengamankan aplikasi web, dan untuk membantu guru/pelajar mengajar/belajar dalam persekitaran bilik darjah Aplikasi web keselamatan. Matlamat DVWA adalah untuk mempraktikkan beberapa kelemahan web yang paling biasa melalui antara muka yang mudah dan mudah, dengan pelbagai tahap kesukaran. Sila ambil perhatian bahawa perisian ini