Rumah  >  Artikel  >  rangka kerja php  >  Menggunakan mod tunggal dalam ThinkPHP6

Menggunakan mod tunggal dalam ThinkPHP6

PHPz
PHPzasal
2023-06-21 09:21:211259semak imbas

Menggunakan corak tunggal dalam ThinkPHP6

Corak tunggal ialah corak reka bentuk biasa yang memastikan bahawa kelas hanya mempunyai satu tika dan menyediakan pusat akses global. Dalam ThinkPHP6, mod tunggal boleh digunakan untuk mengurus pembolehubah global, sumber kongsi, dsb.

Berikut ialah contoh penggunaan corak tunggal dalam ThinkPHP6:

  1. Buat kelas

Kami mula-mula mencipta kelas mudah untuk demonstrasi Bagaimana untuk gunakan corak singleton. Seperti yang ditunjukkan di bawah, kelas ini hanya mempunyai satu sifat dan satu kaedah.

namespace apputil;

class Singleton
{
    private static $instance = null;
    private $count = 0;

    private function __construct() {}
 
    public static function getInstance()
    {
        if (self::$instance == null) {
            self::$instance = new Singleton();
        }

        return self::$instance;
    }

    public function getCount()
    {
        return $this->count;
    }

    public function incrementCount()
    {
        $this->count++;
    }
}
  1. Dapatkan tikas tunggal

Dalam ThinkPHP6, kita boleh menggunakan kaedah tika tunggal make yang disediakan oleh bekas untuk mendapatkan tikas tunggal. Apabila menggunakan kaedah make, kami boleh menentukan nama tika atau menggunakan nama tika lalai. Berikut adalah untuk mendapatkan contoh tunggal bagi kelas Singleton:

$singleton = app()->make('apputilSingleton::getInstance');

Seperti yang anda lihat, di sini kita perlu memasukkan Singleton::getInstance sebagai nama contoh.

  1. Menggunakan instance tunggal

Kita boleh menggunakan pembolehubah $singleton yang diperoleh di atas untuk mengakses sifat dan kaedah kelas Singleton. Berikut ialah beberapa contoh kod:

$singleton->incrementCount();
echo $singleton->getCount(); // 输出 1
 
$anotherSingleton = app()->make('apputilSingleton::getInstance');
echo $anotherSingleton->getCount(); // 输出 1

Seperti yang anda lihat, kami hanya perlu mencipta tika tunggal sekali dan boleh menggunakannya di mana-mana sahaja, dan tika yang diperoleh adalah sama.

Nota:

  • Dalam kelas tunggal, pembina mestilah peribadi.
  • Apabila menggunakan mod tunggal, beri perhatian kepada isu keselamatan benang.
  • Dalam ThinkPHP6, apabila menggunakan kaedah make untuk mendapatkan tika tunggal, adalah disyorkan untuk menggunakan ruang nama lengkap dan nama contoh untuk mengelakkan konflik cache bekas.

Ringkasan:

Menggunakan mod tunggal dalam ThinkPHP6 boleh mengurus keadaan global dan sumber dikongsi dengan mudah Melalui kaedah make yang disediakan oleh bekas, kami boleh mendapatkan mod tunggal dengan mudah Contoh contoh. Tetapi ambil perhatian tentang isu keselamatan benang dan gunakan ruang nama penuh dan nama contoh.

Atas ialah kandungan terperinci Menggunakan mod tunggal dalam ThinkPHP6. 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