Rumah pembangunan bahagian belakang tutorial php 利用好PHP5.3的新特性,实现单例模式_PHP教程

利用好PHP5.3的新特性,实现单例模式_PHP教程

Jul 13, 2016 am 10:41 AM
3 php5 guna Ciri-ciri baru

5.3以前也可实现,但代码较繁琐, 如下:

class MOrder extends SModel{
protected static $handle; //单例句柄

private function __construct(){
//something
}

/**
* 获取本类单例的方法,公开
*
* @return MOrder
*/
public static function instance() {
if(self::$handle){
return self::$handle;
}

$class = __CLASS__;
self::$handle = new $class();
return self::$handle;
}

//otherthing

}


5.3增加延迟静态绑定(这个词真别扭)

代码实现如下

class SModel {
/**
* 获取单例句柄,返回具体模型类的实例对象
*/
protected static function instance() {
if(static::$handle){
return static::$handle;
}

$class = get_called_class();
static::$handle = new $class();
return static::$handle;
}

//父类something

}


class MGoods extends SModel{
/**
* 获取本类单例的方法,公开
* @return MGoods
*/
public static function instance(){
return parent::instance();
}
protected static $handle; //单例句柄
protected function __construct(){
//something
}

//otherthing

}


通过修改,子类的实现代码减少一部分,转由父类实现

实话说,仍很麻烦,如果PHP自己实现singleton就好了.


www.bkjia.comtruehttp://www.bkjia.com/PHPjc/678027.htmlTechArticle5.3以前也可实现,但代码较繁琐, 如下: class MOrder extends SModel{ protected static $handle; //单例句柄 private function __construct(){ //something } /** * 获取本类...
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

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

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Apakah perbezaan antara php5 dan php8 Apakah perbezaan antara php5 dan php8 Sep 25, 2023 pm 01:34 PM

Perbezaan antara php5 dan php8 adalah dari segi prestasi, struktur bahasa, sistem jenis, pengendalian ralat, pengaturcaraan tak segerak, fungsi perpustakaan standard dan keselamatan. Pengenalan terperinci: 1. Peningkatan prestasi Berbanding dengan PHP5, PHP8 mempunyai peningkatan besar dalam prestasi PHP8 memperkenalkan pengkompil JIT, yang boleh menyusun dan mengoptimumkan beberapa kod pelaksanaan frekuensi tinggi, dengan itu meningkatkan kelajuan berjalan; PHP8 memperkenalkan beberapa struktur dan fungsi bahasa baharu PHP8 menyokong parameter yang dinamakan, membenarkan pembangun menghantar nama parameter dan bukannya susunan parameter, dsb.

Cara menggunakan GitLab untuk pengurusan dokumen projek Cara menggunakan GitLab untuk pengurusan dokumen projek Oct 20, 2023 am 10:40 AM

Cara menggunakan GitLab untuk pengurusan dokumen projek 1. Pengenalan latar belakang Dalam proses pembangunan perisian, dokumen projek adalah maklumat yang sangat penting, mereka bukan sahaja dapat membantu pasukan pembangunan memahami keperluan dan reka bentuk projek, tetapi juga memberikan rujukan kepada pasukan ujian dan pelanggan. Untuk memudahkan kawalan versi dan kerjasama pasukan dokumen projek, kami boleh menggunakan GitLab untuk pengurusan dokumen projek. GitLab ialah sistem kawalan versi berdasarkan Git Selain menyokong pengurusan kod, ia juga boleh mengurus dokumen projek. 2. Persediaan persekitaran GitLab Pertama, I

PHP 8.3 dikeluarkan: ciri baharu sepintas lalu PHP 8.3 dikeluarkan: ciri baharu sepintas lalu Nov 27, 2023 pm 12:52 PM

PHP8.3 dikeluarkan: Gambaran keseluruhan ciri baharu Memandangkan teknologi terus berkembang dan memerlukan perubahan, bahasa pengaturcaraan sentiasa dikemas kini dan dipertingkatkan. Sebagai bahasa skrip yang digunakan secara meluas dalam pembangunan web, PHP sentiasa bertambah baik untuk menyediakan pembangun alat yang lebih berkuasa dan cekap. Versi PHP 8.3 yang dikeluarkan baru-baru ini membawakan banyak ciri dan penambahbaikan baharu yang telah lama ditunggu-tunggu Mari kita lihat gambaran keseluruhan ciri baharu ini. Permulaan sifat bukan nol Dalam versi PHP yang lalu, jika harta kelas tidak diberikan nilai secara eksplisit, nilainya

Bagaimana untuk menukar port 80 dalam php5 Bagaimana untuk menukar port 80 dalam php5 Jul 24, 2023 pm 04:57 PM

Cara menukar port 80 dalam php5: 1. Edit nombor port dalam fail konfigurasi pelayan Apache; mula berjalan pada port baru berjalan pada port.

Panduan untuk mempelajari ciri baharu PHP8 dan mendapatkan pemahaman yang mendalam tentang teknologi terkini Panduan untuk mempelajari ciri baharu PHP8 dan mendapatkan pemahaman yang mendalam tentang teknologi terkini Dec 23, 2023 pm 01:16 PM

Analisis mendalam tentang ciri baharu PHP8 untuk membantu anda menguasai teknologi terkini Seiring berjalannya waktu, bahasa pengaturcaraan PHP sentiasa berkembang dan bertambah baik. Versi PHP8 yang dikeluarkan baru-baru ini menyediakan pembangun dengan banyak ciri dan penambahbaikan baharu yang menarik, membawa lebih banyak kemudahan dan kecekapan kepada kerja pembangunan kami. Dalam artikel ini, kami akan menganalisis ciri baharu PHP8 secara mendalam dan memberikan contoh kod khusus untuk membantu anda menguasai teknologi terkini ini dengan lebih baik. Pengkompil JIT PHP8 memperkenalkan kompilasi JIT (Just-In-Time).

Apakah maksud video yang disyorkan TikTok? Bagaimana untuk menggunakan Douyin untuk mengesyorkan video? Apakah maksud video yang disyorkan TikTok? Bagaimana untuk menggunakan Douyin untuk mengesyorkan video? Mar 27, 2024 pm 03:01 PM

Sebagai platform sosial video pendek yang terkenal di dunia, Douyin telah memenangi hati sebilangan besar pengguna dengan algoritma pengesyoran peribadi yang unik. Artikel ini akan menyelidiki nilai dan prinsip pengesyoran video Douyin untuk membantu pembaca memahami dengan lebih baik dan menggunakan sepenuhnya ciri ini. 1. Apakah video yang disyorkan oleh Douyin? Platform Douyin menganalisis sejarah tontonan pengguna, gelagat suka dan komen, berkongsi rekod dan data lain untuk memilih dan mengesyorkan video yang paling sesuai dengan citarasa pengguna daripada perpustakaan video yang besar. Sistem pengesyoran diperibadikan ini bukan sahaja menambah baik pengalaman pengguna, tetapi juga membantu pengguna menemui lebih banyak kandungan video yang sepadan dengan pilihan mereka, sekali gus meningkatkan kelekatan dan kadar pengekalan pengguna. di sini

blendOS 3: Sistem pengedaran tidak berubah akan dikeluarkan, menyokong sehingga 9 pengedaran Linux blendOS 3: Sistem pengedaran tidak berubah akan dikeluarkan, menyokong sehingga 9 pengedaran Linux Jun 06, 2023 pm 05:11 PM

Menurut berita pada 6 Jun, pemaju RudraSaraswat mengumumkan sistem pengedaran tidak berubah yang mereka bangunkan, blendOS3, dan berjanji untuk membawa fungsi dan ciri baharu kepada pengguna. Sistem ini akan menyokong sehingga sembilan pengedaran Linux dan menyediakan cara baharu untuk mengemas kini tanpa menggunakan repositori pakej. Mengikut pemahaman editor, blendOS3 ialah sistem pengedaran yang mengintegrasikan ArchLinux, FedoraLinux dan Ubuntu. Seawal blendOS2 dikeluarkan pada April tahun ini, sistem itu memperkenalkan teknologi WayDroid, membolehkan pengguna menjalankan aplikasi Android pada sistem. Salah satu perubahan terbesar yang dibawa oleh blendOS3 ialah kemas kini serba baharu

Tafsiran ciri baharu bahasa Go: menjadikan pengaturcaraan lebih cekap Tafsiran ciri baharu bahasa Go: menjadikan pengaturcaraan lebih cekap Mar 10, 2024 pm 12:27 PM

[Tafsiran ciri baharu bahasa Go: Untuk menjadikan pengaturcaraan lebih cekap, contoh kod khusus diperlukan] Dalam beberapa tahun kebelakangan ini, bahasa Go telah menarik banyak perhatian dalam bidang pembangunan perisian, dan konsep reka bentuknya yang ringkas dan cekap telah menarik lebih banyak lagi. pemaju. Sebagai bahasa pengaturcaraan yang ditaip secara statik, bahasa Go terus memperkenalkan ciri baharu untuk meningkatkan kecekapan pembangunan dan memudahkan proses penulisan kod. Artikel ini akan memberikan penjelasan mendalam tentang ciri terbaharu bahasa Go dan membincangkan cara merasai kemudahan yang dibawa oleh ciri baharu ini melalui contoh kod tertentu. Pembangunan modular (GoModules) Bahasa Go daripada 1

See all articles