Wann werden statische Methoden in PHP verwendet?
Statische Methoden:
Instanzen generieren vom Beginn der Programmausführung an Speicher, sodass dieser direkt aufgerufen werden kann und die Effizienz viel höher ist. Wenn jedoch zu viele Instanzen vorhanden sind, kann das Programm nicht direkt gestartet werden Der statische Speicher wird resident sein.
Nichtstatische Methoden:
Instanzmethoden beginnen beim Aufruf mit der Generierung von Speicher und wenden verstreuten Speicher an, sodass die Effizienz bei nichtstatischen Methoden deutlich geringer ist werden freigegeben, wenn sie aufgebraucht sind.
Unterschiede:
1. Statische Methoden verwenden kein neues, was einfach zu verwenden ist.
2. Statisch ist schnell und effizient, da der Speicher von der Instanz generiert wird, wenn das Programm ausgeführt wird, und nach dem Aufbrauchen immer noch vorhanden ist, aber nicht freigegeben wird.
3. Non-static generiert beim Aufruf Speicher und gibt ihn nach der Verwendung frei.
Statische Methoden werden in allgemeinen Werkzeugklassen verwendet
Zum Beispiel:
class Helper{ public static function fun1(){} public static function fun2(){} }
Was bewirkt das, wenn es sich um ein Objekt derselben Klasse handelt? Methode? Die Dinge sind die gleichen und haben nichts mit dem Objekt selbst zu tun. Im Allgemeinen kann diese Methode als statische Methode definiert werden.
Wenn ich beispielsweise die IP-Adresse des Clients abrufen möchte, hat diese Methode im Allgemeinen nichts mit der Geschäftslogikklasse zu tun, dann kann ich eine Toolklasse mit einer Methode definieren: getClientIP()
class Helper{ public static function getClientIP(){ $ip = $_SERVER["HTTP_X_CLUSTER_CLIENT_IP"]; if (strlen($ip) <= 0) { $ip = $_SERVER["HTTP_X_FORWARDED_FOR"]; } if (strlen($ip) <= 0) { $ip = $_SERVER["HTTP_CLIENT_IP"]; } if (strlen($ip) <= 0) { $ip = $_SERVER["REMOTE_ADDR"]; } return $ip; } }
Weitere Informationen zu PHP finden Sie auf der PHP-Chinese-Website!
Das obige ist der detaillierte Inhalt vonWann man statische Methoden in PHP verwendet. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!