Apakah maksud singleton dalam php

WBOY
Lepaskan: 2023-03-15 22:18:01
asal
2086 orang telah melayarinya

Dalam PHP, singleton bermaksud bahawa kelas mempunyai satu dan hanya satu contoh Ia merujuk kepada corak reka bentuk di mana kelas tertentu dalam keseluruhan aplikasi hanya mempunyai satu contoh objek dalam corak tunggal akan menjejaskan keseluruhan aplikasi Sistem menyediakan contoh ini secara global dan tidak mencipta salinan contoh itu, sebaliknya, ia mengembalikan rujukan kepada contoh yang disimpan di dalam kelas tunggal.

Apakah maksud singleton dalam php

Persekitaran pengendalian artikel ini: sistem Windows 10, PHP versi 7.1, komputer Dell G3

Apakah maksud singleton dalam php

Corak tunggal merujuk kepada corak reka bentuk di mana kelas tertentu hanya mempunyai satu contoh objek dalam keseluruhan aplikasi. Khususnya, sebagai kaedah penciptaan objek, corak tunggal memastikan bahawa kelas hanya mempunyai satu contoh, membuat instantiat sendiri dan menyediakan contoh ini secara global kepada keseluruhan sistem. Ia tidak mencipta salinan contoh, tetapi mengembalikan rujukan kepada contoh yang disimpan di dalam kelas tunggal.

Sebuah kelas mempunyai satu dan hanya satu contoh, dan ia dijadikan instantiated dan disediakan kepada keseluruhan program untuk digunakan. Ini boleh difahami sebagai memastikan bahawa kelas ini mempunyai satu dan hanya satu contoh semasa keseluruhan program berjalan, dan menyediakan satu kepada dunia luar Akses pusat akses globalnya.

Ciri corak tunggal

Ciri utama corak tunggal ialah "tiga peribadi dan satu awam":

Memerlukan contoh unik kelas yang disimpan Pembolehubah ahli statik peribadi

Pembina mesti diisytiharkan peribadi untuk menghalang program luaran daripada memperbaharui objek dan dengan itu kehilangan makna tunggal

Fungsi klon mesti diisytiharkan peribadi kepada menghalang objek daripada diklon

Mesti menyediakan kaedah statik awam (biasanya dinamakan getInstance) untuk mengakses tika ini, sekali gus mengembalikan rujukan kepada tika unik.

Sebab dan senario untuk menggunakan mod tunggal

Dalam kebanyakan aplikasi PHP, akan terdapat sejumlah besar operasi pangkalan data jika mod tunggal tidak digunakan, maka setiap kali Operasi baru diperlukan, tetapi setiap yang baru akan menggunakan banyak sumber sistem dan sumber memori, dan setiap kali pangkalan data dibuka dan ditutup, ia adalah ujian yang hebat dan pembaziran pangkalan data. Oleh itu, corak tunggal sering digunakan dalam kelas operasi pangkalan data.

Begitu juga, jika kelas diperlukan untuk mengawal maklumat konfigurasi tertentu dalam sistem secara global, ia boleh dilaksanakan dengan mudah menggunakan mod tunggal.

Pelaksanaan mod tunggal PHP

Berikut ialah rangka kerja untuk mod tunggal PHP untuk melaksanakan kelas operasi pangkalan data

<?php
 class Db{
 const DB_HOST=&#39;localhost&#39;;
 const DB_NAME=&#39;&#39;;
 const DB_USER=&#39;&#39;;
 const DB_PWD=&#39;&#39;;
 private $_db;
 //保存实例的私有静态变量
 private static $_instance;
 //构造函数和克隆函数都声明为私有的
 private function __construct(){
  //$this->_db=mysql_connect();
 }
 private function __clone(){
  //实现
 }
 //访问实例的公共静态方法
 public static function getInstance(){
  if(!(self::$_instance instanceof self)){
  self::$_instance=new self();
  }
  //或者
  if(self::$_instance===null){
  self::$_instance=new Db();
  }
  return self::$_instance;
 }
 public function fetchAll(){
  //实现
 }
 public function fetchRow(){
  //实现
 }
 }
 //类外部获取实例的引用
 $db=Db::getInstance();
?>
Salin selepas log masuk

Kajian yang disyorkan: "Tutorial video PHP

Atas ialah kandungan terperinci Apakah maksud singleton dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
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