Wenn Entwickler Websites und Anwendungen in PHP zu bauen , können sie die objektorientierte Programmierung , wo Klassen definieren das Verhalten von Objekten , durchführen einen bestimmten Teil der Funktionalität der Anwendung. Durch das Schreiben Klassendeklarationen definieren Entwickler Objekte mit bestimmten Eigenschaften und Funktionen. In der Regel werden die Funktionen innerhalb einer Klasse durch Objektinstanzen der Klasse zugegriffen , sondern statisch sind Funktionen einer Klasse sich . Objektorientierte Programmierung ermöglicht es Entwicklern, komplexe Anwendungen schnell zu bauen , als Teams von Entwicklern Fokussierung auf einzelne Teile des Codes . Klassen
PHP, eine Klassendeklaration normalerweise hat einen Namen , Variablen und Funktionen. Der Code außerhalb einer Klasse können Objekt-Instanzen , die ihre eigene Umsetzung der Variablen und Funktionen in der Erklärung dargelegt haben . In den meisten Fällen müssen Sie einen Code erstellen Sie ein Objekt einer Klasse , um seine Funktionen aufrufen - manchmal als Methoden bezeichnet - im Einklang mit anderen Programmiersprachen für objektorientierte Entwicklung verwendet . Mit statischen Funktionen , ist dies nicht der Fall, wie Anwendungen können die Funktionalität in Bezug auf die Klasse selbst zugreifen .
Funktionen
"Kunde" Code muss anrufen eine Klasse Funktion, kann es so zu tun , indem Sie ein Objekt Instanz der Klasse vor dem Aufruf der Funktion für diese Instanz . Der folgende Code veranschaulicht dies : $ helper = new Helper (); $ helper -> doSomething ();
Dieser Code ruft eine Methode namens " doSomething ", die innerhalb der Klassendeklaration für aufgeführt ist " Helper " innerhalb der Anwendung. Wenn eine Funktion als static deklariert wird, kommt externen Code nicht brauchen, um die Durchführung der ersten Zeile , in der die Klasse instanziiert wird.
Aufruf statische Funktionen
< p> Um eine statische Funktion innerhalb einer PHP -Anwendung aufrufen , kann der Code die Klasse Name : Helper :: doSomethingStatic ();
Dieser Code eine Methode in der Klassendeklaration für " Helfer " wie oben nennen würden folgt : public static function doSomethingStatic () { //Implementierung der Methode }
Dies ermöglicht Code, um Funktionen in der Regel mit einer Klasse und ihren Verantwortungsbereich innerhalb der Anwendung zugeordneten zugreifen . Es ist auch möglich, statische Klasse Funktionen aufrufen mit Objekt-Instanzen , wenn Ihr Programm hat diese sowieso, aber es hat keinen Sinn , wenn ein Objekt die einzige Funktion, die Sie brauchen, ist statisch.
Verwendet
statische Funktionen können nur wirksam werden, wenn das Verfahren durchgeführt wird ist nicht abhängig von den Daten in einer Instanz der Klasse enthalten sind. Viele Methoden der Klasse verwenden die Daten insbesondere auf eine Instanz der Klasse , in diesem Fall die Ausführung hängt vom Vorliegen einer Instanz der Klasse in der Existenz. Statische Funktionen sind nicht abhängig von Instanzen der Klasse , so dass sie nicht verwenden können Variablen nur für Instanzen , wie jene, die von einer Klasse Konstruktor -Methode festgelegt. Bei der Umsetzung statische Methoden , müssen Programmierer Kenntnis von einem Variablen in der Klasse, die nur instanziiert werden , wenn Objekte der Klasse erstellt werden .