PHP 之 this self parent static 对比
this 绑定的是当前已经实例化的对象 这样长出现的问题: 如果你在一个父类中使用$this调用当前一个类的方法或者属性,如果这个类被继承,且在相应的子类中有调用的属性或者方法是,则父类中的$this调用的方法或者属性会使用子类中的方法。 ? php class basePa
this 绑定的是当前已经实例化的对象
这样长出现的问题: 如果你在一个父类中使用$this调用当前一个类的方法或者属性,如果这个类被继承,且在相应的子类中有调用的属性或者方法是,则父类中的$this调用的方法或者属性会使用子类中的方法。
<span>php </span><span>class</span><span> baseParent { </span><span>static</span> <span>$counter</span> = 0<span>; </span><span>function</span><span> getName() { </span><span>return</span> 'baseParent'<span>; } </span><span>function</span><span> printName() { </span><span>echo</span> <span>$this</span>->getName() . "\n"<span>; } } </span><span>class</span> base <span>extends</span><span> baseParent { </span><span>static</span> <span>$counter</span> = 0<span>; </span><span>function</span><span> addCounter() { </span><span>return</span> self::<span>$counter</span> +=1<span>; } </span><span>function</span><span> getName() { </span><span>return</span> 'base'<span>; } } </span><span>$one</span> = <span>new</span><span> base(); </span><span>$one</span>->printName();
输出: base
parent 指向当前对象的父类的
self 指向当前类本身的,不指向任何已经实例化的对象的,一般用于指向类中的静态变量和静态方法: 因为静态方法和静态的变量是不能实例化到对象当中的,它只存在于当前类中
<span>php </span><span>class</span><span> baseParent { </span><span>static</span> <span>$counter</span> = 0<span>; } </span><span>class</span> base <span>extends</span><span> baseParent { </span><span>function</span><span> addCounter() { </span><span>return</span> self::<span>$counter</span> +=1<span>; } } </span><span>$one</span> = <span>new</span><span> base(); </span><span>echo</span> <span>$one</span>->addCounter() . "\n"<span>; </span><span>$two</span> = <span>new</span><span> base(); </span><span>echo</span> <span>$two</span>->addCounter() . "\n"<span>; </span><span>echo</span> baseParent::<span>$counter</span>;
输出:1 2 2
static 后期静态绑定:
static::不再被解析为定义当前方法所在的类,而是在实际运行时计算的。也可以称之为"静态绑定",
因为它可以用于(但不限于)静态方法的调用。
<span>php </span><span>class</span><span> baseParent { </span><span>static</span> <span>$counter</span> = 0<span>; </span><span>function</span><span> getName() { </span><span>return</span> 'baseParent'<span>; } </span><span>function</span><span> printName() { </span><span>echo</span> <span>static</span>::getName() . "\n"<span>; } } </span><span>class</span> base <span>extends</span><span> baseParent { </span><span>static</span> <span>$counter</span> = 0<span>; </span><span>function</span><span> addCounter() { </span><span>return</span> self::<span>$counter</span> +=1<span>; } </span><span>function</span><span> getName() { </span><span>return</span> 'base'<span>; } } </span><span>$one</span> = <span>new</span><span> base(); </span><span>$one</span>->printName();
输出: base

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

In diesem Kapitel werden wir die Umgebungsvariablen, die allgemeine Konfiguration, die Datenbankkonfiguration und die E-Mail-Konfiguration in CakePHP verstehen.

PHP 8.4 bringt mehrere neue Funktionen, Sicherheitsverbesserungen und Leistungsverbesserungen mit einer beträchtlichen Menge an veralteten und entfernten Funktionen. In dieser Anleitung wird erklärt, wie Sie PHP 8.4 installieren oder auf PHP 8.4 auf Ubuntu, Debian oder deren Derivaten aktualisieren. Obwohl es möglich ist, PHP aus dem Quellcode zu kompilieren, ist die Installation aus einem APT-Repository wie unten erläutert oft schneller und sicherer, da diese Repositorys in Zukunft die neuesten Fehlerbehebungen und Sicherheitsupdates bereitstellen.

Um in cakephp4 mit Datum und Uhrzeit zu arbeiten, verwenden wir die verfügbare FrozenTime-Klasse.

Um am Datei-Upload zu arbeiten, verwenden wir den Formular-Helfer. Hier ist ein Beispiel für den Datei-Upload.

In diesem Kapitel lernen wir die folgenden Themen im Zusammenhang mit dem Routing kennen.

CakePHP ist ein Open-Source-Framework für PHP. Es soll die Entwicklung, Bereitstellung und Wartung von Anwendungen erheblich vereinfachen. CakePHP basiert auf einer MVC-ähnlichen Architektur, die sowohl leistungsstark als auch leicht zu verstehen ist. Modelle, Ansichten und Controller gu

Der Validator kann durch Hinzufügen der folgenden zwei Zeilen im Controller erstellt werden.

Das Arbeiten mit der Datenbank in CakePHP ist sehr einfach. In diesem Kapitel werden wir die CRUD-Operationen (Erstellen, Lesen, Aktualisieren, Löschen) verstehen.
