Objektorientierte PHP-Programmierung – Spezialpraxis TAG 4
Jul 29, 2016 am 09:15 AMSpezielle Praktiken für Objekte
(nur in PHP verfügbar, andere Sprachen haben keine Objekte )
Für Objekte - magische Methoden
__construct(), __destruct() Konstruktor und Destruktor
__tostring()
__invoke()
__call(), __callStatic()
__get(), __set(), __isset() , __unset( )
__clone()
__tostring()
Wenn das Objekt als String verwendet wird, wird diese Methode automatisch aufgerufen.
Echo $obj;
__invoke()
Wenn das Objekt als Methode aufgerufen wird, wird diese Methode automatisch aufgerufen
$obj(4);
<?php class MagicTest{ //__tostring會(huì)在把<strong>對(duì)象</strong>轉(zhuǎn)換為string的時(shí)候自動(dòng)調(diào)用 public function __tostring(){ return "This is the Class MagicTest. "; } // __invoke會(huì)在把<strong>對(duì)象</strong>當(dāng)作一個(gè)方法調(diào)用的時(shí)候自動(dòng)調(diào)用 public function __invoke($x){ echo "__invoke called with parameter ".$x."\n"; } } $obj = new MagicTest(); echo $obj."\n"; $obj(5); ?>
Ausgabe:
Dies ist die Klasse MagicTest
__invoke, die mit Parameter 5
__call() Wenn
Objekt auf einen nicht vorhandenen Methodennamen zugreift, wird die __call()-Methode automatisch __callStatic()
aufgerufen. Wenn
Objekt auf einen nicht vorhandenen statische Methode Name, die __callStatic()-Methode wird automatisch aufgerufen Diese beiden Methoden werden in PHP auch als Methodenüberladung bezeichnet Achten Sie darauf, zwischen überschreibungen zu unterscheiden
Durch diese beiden Methoden wird der Aufruf von Der gleiche Methodenname kann entsprechend verschiedenen Methoden implementiert werden
<?php class MagicTest{ public function __tostring(){ return "This is the Class MagicTest. "; } public function __invoke($x){ echo "__invoke called with parameter ".$x."\n"; } //方法的重載 //這個(gè)方法的參數(shù)第一個(gè)就是調(diào)用的方法的名稱,第二個(gè)參數(shù)是方法調(diào)用的參數(shù)組成的數(shù)組 public function __call($name,$arguments){ echo "Calling " . $name . " with parameters: ". implode(",", $arguments)."\n"; } //<strong>靜態(tài)方法</strong>的重載,注意這個(gè)方法需要設(shè)定為static public static function __callStatic($name,$arguments){ echo "Static Calling " . $name . " with parameters: ". implode(",", $arguments)."\n"; } } $obj = new MagicTest(); //runTest這兩個(gè)方法的名稱本來不能完全相同,但是通過魔術(shù)方法,可以調(diào)用了 $obj->runTest("para1","para2"); //沒有聲明這個(gè)runTest方法,因?yàn)橛衉_call這個(gè)魔術(shù)方法,也可以被調(diào)用 MagicTest::runTest("para1","para2"); //沒有聲明這個(gè)runTest方法,因?yàn)橛衉_callStatic這個(gè)魔術(shù)方法,也可以被調(diào)用 ?>
Ausgabe: Aufruf von runTest mit Parametern: para1, para2
Statischer Aufruf von runTest mit Parametern: para1, para2
Beim Zuweisen von Werten zu unzug?nglichen Eigenschaften wird __set() aufgerufen
Wann Beim Lesen des Werts eines unzug?nglichen Attributs wird __get() aufgerufen.
Wenn isset() oder empty() für ein unzug?ngliches Attribut aufgerufen wird, wird __isset() aufgerufen.
Wenn ein unzug?ngliches Attribut aufgerufen wird. Wenn unset( ) wird aufgerufen, __unset() wird aufgerufen
Das sogenannte unzug?ngliche Attribut bedeutet tats?chlich, dass beim Aufrufen eines bestimmten Attributs festgestellt wird, dass das Attribut zu diesem Zeitpunkt nicht definiert ist. Verschiedene Vorg?nge l?sen unterschiedliche magische Methoden aus
Diese Methoden werden auch als magische Methoden der Eigenschaftsüberladung bezeichnet
Ausgabe:
<?php class MagicTest{ public function __tostring(){ return "This is the Class MagicTest. "; } public function __invoke($x){ echo "__invoke called with parameter ".$x."\n"; } //方法的重載 //這個(gè)方法的參數(shù)第一個(gè)就是調(diào)用的方法的名稱,第二個(gè)參數(shù)是方法調(diào)用的參數(shù)組成的數(shù)組 public function __call($name,$arguments){ echo "Calling " . $name . "with parameters: ". implode(",", $arguments)."\n"; } //<strong>靜態(tài)方法</strong>的重載,注意這個(gè)方法需要設(shè)定為static public static function __callStatic($name,$arguments){ echo "Static Calling " . $name . "with parameters: ". implode(",", $arguments)."\n"; } //屬性重載 public function __get($name){ return "Getting the property ".$name."\n"; } public function __set($name, $value){ echo "Setting the property ".$name." to value " . $value."\n"; } public function __isset($name){ echo "__isset invoked\n"; return true; } public function __unset($name){ echo "unsetting property ".$name."\n"; } } $obj = new MagicTest(); echo $obj->className."\n"; //className未定義,但是通過魔術(shù)方法__get,這個(gè)方法好像被定義了一樣 $obj->className='MagicClassX'; //通過魔術(shù)方法__get將className名稱定義為MagicClassX echo '$obj->name is set?'.isset($obj->className)."\n"; echo '$obj->name is empty?'.empty($obj->className)."\n"; unset($obj->className); ?>Eigenschaft className abrufen
Eigenschaft className auf den Wert MagicClassX setzen
__isset aufgerufen
$obj->name ist festgelegt?1 //Wenn return wahr ist, wird das Ergebnis als 1 angezeigt; wenn return falsch ist, wird das Ergebnis als leer angezeigt
__isset aufgerufen
$obj->name ist leer? //Wenn return wahr ist, wird das Ergebnis als leer angezeigt; wenn return falsch ist, wird das Ergebnis als 1 angezeigt
unsetting property className
Orientiert an Objekt
--Magische Methode__clone()name='TBD'; //屏蔽你不想要他復(fù)制過去的數(shù)據(jù),屏蔽掉他的數(shù)據(jù),設(shè)置他的初始值
}
}
$james = new NbaPlayer();
$james->name = 'James';
echo $james->name."\n";
$james2 = clone $james;
echo "Before set up: James2's: ".$james2->name."\n";
$james2->name='James2';
echo "James's: ".$james->name;
echo "James's: ".$james2->name;
?>James
Vor der Einrichtung: James2: TBD
James: James
James: James2 //Die Daten von James2 haben keinen Einfluss auf die Daten von James
--------------------------------------------- - ------------------------------------------------- -PHP für
Objekt
Damit sind die Programmierhinweise abgeschlossen----------------------------------- ----- --------------------------------------------- -----
Das Obige ist eine Einführung in die objektorientierte PHP-Programmierung – Spezialpraxis TAG 4, einschlie?lich der relevanten Inhalte. Ich hoffe, dass es für Freunde hilfreich sein wird, die sich für PHP-Tutorials interessieren.

Hei?e KI -Werkzeuge

Undress AI Tool
Ausziehbilder kostenlos

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

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

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem v?llig kostenlosen KI-Gesichtstausch-Tool aus!

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)

Funktion bedeutet Funktion. Es handelt sich um einen wiederverwendbaren Codeblock mit bestimmten Funktionen. Er kann Eingabeparameter akzeptieren, bestimmte Operationen ausführen und Ergebnisse zurückgeben. Code, um die Wiederverwendbarkeit und Wartbarkeit des Codes zu verbessern.

Jedes Jahr bevor Apple eine neue Hauptversion von iOS und macOS ver?ffentlicht, k?nnen Benutzer die Betaversion mehrere Monate im Voraus herunterladen, um sie zuerst zu testen. Da die Software sowohl von der ?ffentlichkeit als auch von Entwicklern verwendet wird, hat Apple für beide Entwickler- und ?ffentliche Versionen herausgebracht, bei denen es sich um ?ffentliche Betaversionen der Entwickler-Betaversionen handelt. Was ist der Unterschied zwischen der Entwicklerversion und der ?ffentlichen Version von iOS? Im wahrsten Sinne des Wortes handelt es sich bei der Entwicklerversion um eine Entwickler-Betaversion und bei der ?ffentlichen Version um eine ?ffentliche Betaversion. Die Entwicklerversion und die ?ffentliche Version richten sich an unterschiedliche Zielgruppen. Die Entwicklerversion wird von Apple zum Testen durch Entwickler verwendet. Sie ben?tigen ein Apple-Entwicklerkonto, um sie herunterzuladen und zu aktualisieren.

Detaillierte Erl?uterung der Rolle und Funktion der MySQL.proc-Tabelle. MySQL ist ein beliebtes relationales Datenbankverwaltungssystem. Wenn Entwickler MySQL verwenden, müssen sie h?ufig gespeicherte Prozeduren erstellen und verwalten. Die MySQL.proc-Tabelle ist eine sehr wichtige Systemtabelle. Sie speichert Informationen zu allen gespeicherten Prozeduren in der Datenbank, einschlie?lich des Namens, der Definition, der Parameter usw. der gespeicherten Prozeduren. In diesem Artikel erkl?ren wir ausführlich die Rolle und Funktionalit?t der MySQL.proc-Tabelle

In diesem Artikel lernen wir die Funktion enumerate() und den Zweck der Funktion ?enumerate()“ in Python kennen. Was ist die Funktion enumerate()? Die Funktion enumerate() von Python akzeptiert eine Datensammlung als Parameter und gibt ein Aufz?hlungsobjekt zurück. Aufz?hlungsobjekte werden als Schlüssel-Wert-Paare zurückgegeben. Der Schlüssel ist der Index, der jedem Element entspricht, und der Wert sind die Elemente. Syntax enumerate(iterable,start) Parameter iterable – Die übergebene Datensammlung kann als Aufz?hlungsobjekt namens iterablestart zurückgegeben werden – Wie der Name schon sagt, wird der Startindex des Aufz?hlungsobjekts durch start definiert. wenn wir es ignorieren

php提交表單通過后,彈出的對(duì)話框怎樣在當(dāng)前頁彈出php提交表單通過后,彈出的對(duì)話框怎樣在當(dāng)前頁彈出而不是在空白頁彈出?想實(shí)現(xiàn)這樣的效果:而不是空白頁彈出:------解決方案--------------------如果你的驗(yàn)證用PHP在后端,那么就用Ajax;僅供參考:HTML code

Mit der Entwicklung des Internets ist SOA (serviceorientierte Architektur) zu einer wichtigen technischen Architektur in heutigen Systemen auf Unternehmensebene geworden. Dienste in der SOA-Architektur k?nnen wiederverwendet, neu organisiert und erweitert werden und vereinfachen gleichzeitig den Systementwicklungs- und Wartungsprozess. Als weit verbreitete Web-Programmiersprache stellt PHP auch einige Funktionsbibliotheken zur Implementierung von SOA zur Verfügung. Als n?chstes werden wir detailliert beschreiben, wie SOA-Funktionen in PHP verwendet werden. 1. Das Grundkonzept von SOA ist eine verteilte Systementwicklungsidee und -architektur.

Mit der Funktion ?clearstatcache()“ wird der Dateistatus-Cache geleert. PHP speichert die von den folgenden Funktionen zurückgegebenen Informationen zwischen: ?stat()lstat()file_exists()is_writable()is_readable()is_executable()is_file()is_dir()filegroup()fileowner()filesize()filetype()fileperms() Was zu tun Um eine bessere Leistung zu erzielen. Syntax voidclearstatecache() Parameter NA Rückgabewert clearstatcache(

Verwendung und Funktion von Vue.Funktion verwenden Vue ist ein beliebtes Frontend-Framework, das viele nützliche Features und Funktionen bietet. Eine davon ist die Vue.use-Funktion, die es uns erm?glicht, Plugins in Vue-Anwendungen zu verwenden. In diesem Artikel werden die Verwendung und Funktion der Vue.use-Funktion vorgestellt und einige Codebeispiele bereitgestellt. Die grundlegende Verwendung der Vue.use-Funktion ist sehr einfach. Rufen Sie sie einfach auf, bevor Vue instanziiert wird, und übergeben Sie das Plugin, das Sie verwenden m?chten, als Parameter. Hier ist ein einfaches Beispiel: //Plugin vorstellen und verwenden
