Heim Backend-Entwicklung PHP-Tutorial 利用好PHP5.3的新特性,实现单例模式_PHP教程

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

Jul 13, 2016 am 10:41 AM
3 php5 利用 新特性

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 } /** * 获取本类...
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Was ist der Unterschied zwischen PHP5 und PHP8? Was ist der Unterschied zwischen PHP5 und PHP8? Sep 25, 2023 pm 01:34 PM

Die Unterschiede zwischen PHP5 und PHP8 bestehen in Bezug auf Leistung, Sprachstruktur, Typsystem, Fehlerbehandlung, asynchrone Programmierung, Standardbibliotheksfunktionen und Sicherheit. Detaillierte Einführung: 1. Leistungsverbesserung: PHP8 führt einen JIT-Compiler ein, der einige hochfrequente Ausführungscodes kompilieren und optimieren kann, wodurch die Ausführungsgeschwindigkeit verbessert wird. PHP8 führt einige neue Sprachstrukturen und Funktionen ein. PHP8 unterstützt benannte Parameter, sodass Entwickler Parameternamen anstelle der Parameterreihenfolge usw. übergeben können.

So verwenden Sie GitLab für die Projektdokumentenverwaltung So verwenden Sie GitLab für die Projektdokumentenverwaltung Oct 20, 2023 am 10:40 AM

So verwenden Sie GitLab für die Projektdokumentenverwaltung 1. Hintergrundeinführung Im Softwareentwicklungsprozess sind Projektdokumente sehr wichtige Informationen. Sie können dem Entwicklungsteam nicht nur helfen, die Anforderungen und das Design des Projekts zu verstehen, sondern auch als Referenz für das Testteam dienen und Kunden. Um die Versionskontrolle und Teamzusammenarbeit von Projektdokumenten zu erleichtern, können wir GitLab für die Projektdokumentenverwaltung verwenden. GitLab ist ein auf Git basierendes Versionskontrollsystem. Es unterstützt nicht nur die Codeverwaltung, sondern kann auch Projektdokumente verwalten. 2. Einrichtung der GitLab-Umgebung Zuerst I

PHP 8.3 veröffentlicht: Neue Features auf einen Blick PHP 8.3 veröffentlicht: Neue Features auf einen Blick Nov 27, 2023 pm 12:52 PM

PHP8.3 veröffentlicht: Überblick über neue Funktionen Da sich die Technologie weiterentwickelt und sich ändern muss, werden Programmiersprachen ständig aktualisiert und verbessert. PHP ist eine in der Webentwicklung weit verbreitete Skriptsprache und wurde ständig verbessert, um Entwicklern leistungsfähigere und effizientere Tools zur Verfügung zu stellen. Die kürzlich veröffentlichte PHP 8.3-Version bringt viele lang erwartete neue Funktionen und Verbesserungen. Werfen wir einen Blick auf einen Überblick über diese neuen Funktionen. Initialisierung von Nicht-Null-Eigenschaften Wenn in früheren Versionen von PHP einer Klasseneigenschaft nicht explizit ein Wert zugewiesen wurde, ist es ihr Wert

So ändern Sie Port 80 in PHP5 So ändern Sie Port 80 in PHP5 Jul 24, 2023 pm 04:57 PM

So ändern Sie Port 80 in PHP5: 1. Bearbeiten Sie die Portnummer in der Apache-Serverkonfigurationsdatei. 2. Bearbeiten Sie die PHP-Konfigurationsdatei, um sicherzustellen, dass PHP auf dem neuen Port funktioniert. 3. Starten Sie den Apache-Server neu Beginnen Sie mit der Ausführung auf dem neuen Port.

Was bedeutet das von Douyin empfohlene Video? Wie verwende ich Douyin, um Videos zu empfehlen? Was bedeutet das von Douyin empfohlene Video? Wie verwende ich Douyin, um Videos zu empfehlen? Mar 27, 2024 pm 03:01 PM

Als weltbekannte soziale Plattform für Kurzvideos hat Douyin mit seinem einzigartigen personalisierten Empfehlungsalgorithmus die Gunst einer großen Anzahl von Nutzern gewonnen. Dieser Artikel befasst sich mit dem Wert und den Prinzipien der Douyin-Videoempfehlung, um den Lesern zu helfen, diese Funktion besser zu verstehen und optimal zu nutzen. 1. Was ist das von Douyin empfohlene Video? Das von Douyin empfohlene Video verwendet intelligente Empfehlungsalgorithmen, um personalisierte Videoinhalte basierend auf ihren Interessen und Verhaltensgewohnheiten zu filtern und an sie weiterzugeben. Die Douyin-Plattform analysiert den Sehverlauf der Nutzer, ihr Like- und Kommentarverhalten, teilt Aufzeichnungen und andere Daten, um aus einer riesigen Videobibliothek Videos auszuwählen und zu empfehlen, die den Vorlieben der Nutzer am besten entsprechen. Dieses personalisierte Empfehlungssystem verbessert nicht nur das Benutzererlebnis, sondern hilft Benutzern auch dabei, mehr Videoinhalte zu entdecken, die ihren Vorlieben entsprechen, und erhöht so die Benutzerbindung und -bindungsrate. bei diesem

Ein Leitfaden zum Erlernen der neuen Funktionen von PHP8 und zum Erwerb eines tiefgreifenden Verständnisses der neuesten Technologie Ein Leitfaden zum Erlernen der neuen Funktionen von PHP8 und zum Erwerb eines tiefgreifenden Verständnisses der neuesten Technologie Dec 23, 2023 pm 01:16 PM

Eine ausführliche Analyse der neuen Funktionen von PHP8, um Ihnen zu helfen, die neueste Technologie zu beherrschen. Im Laufe der Zeit hat sich die Programmiersprache PHP ständig weiterentwickelt und verbessert. Die kürzlich veröffentlichte PHP8-Version bietet Entwicklern viele spannende neue Funktionen und Verbesserungen, die unsere Entwicklungsarbeit komfortabler und effizienter machen. In diesem Artikel analysieren wir die neuen Funktionen von PHP8 eingehend und stellen spezifische Codebeispiele bereit, die Ihnen helfen, diese neuesten Technologien besser zu beherrschen. Der JIT-Compiler PHP8 führt die JIT-Kompilierung (Just-In-Time) ein

blendOS 3: Das unveränderliche Distributionssystem steht kurz vor der Veröffentlichung und unterstützt bis zu 9 Linux-Distributionen blendOS 3: Das unveränderliche Distributionssystem steht kurz vor der Veröffentlichung und unterstützt bis zu 9 Linux-Distributionen Jun 06, 2023 pm 05:11 PM

Laut Nachrichten vom 6. Juni kündigte der Entwickler RudraSaraswat das von ihm entwickelte unveränderliche Vertriebssystem blendOS3 an und versprach, den Benutzern neue Funktionen und Features bereitzustellen. Das System unterstützt bis zu neun Linux-Distributionen und bietet eine neue Möglichkeit zur Aktualisierung ohne Verwendung eines Paket-Repositorys. Nach dem Verständnis des Herausgebers handelt es sich bei blendOS3 um ein Distributionssystem, das ArchLinux, FedoraLinux und Ubuntu integriert. Bereits mit der Veröffentlichung von blendOS2 im April dieses Jahres führte das System die WayDroid-Technologie ein, die es Benutzern ermöglicht, Android-Anwendungen auf dem System auszuführen. Eine der größten Änderungen, die blendOS3 mit sich bringt, ist ein brandneues Update

Was sind die neuen Funktionen von PHP8? Was sind die neuen Funktionen von PHP8? Sep 25, 2023 pm 01:34 PM

Zu den neuen Funktionen von PHP8 gehören JIT-Compiler, Typableitung, benannte Parameter, Union-Typen, Eigenschaften, Verbesserungen bei der Fehlerbehandlung, Unterstützung für asynchrone Programmierung, neue Standardbibliotheksfunktionen und anonyme Klassenerweiterungen. Detaillierte Einführung: 1. JIT-Compiler, PHP8 führt den JIT-Compiler ein, der eine wichtige Leistungsverbesserung darstellt. Der JIT-Compiler kann einige hochfrequente Ausführungscodes in Echtzeit kompilieren und optimieren, wodurch die Ausführungsgeschwindigkeit verbessert wird führt die Typinferenzfunktion ein, die es Entwicklern ermöglicht, beim Deklarieren von Variablen usw. automatisch den Typ von Variablen abzuleiten.

See all articles