Heim >Backend-Entwicklung >PHP-Tutorial >Teilen Sie Ihr Wissen über einige häufig verwendete Methoden in PHP

Teilen Sie Ihr Wissen über einige häufig verwendete Methoden in PHP

零下一度
零下一度Original
2017-06-23 15:20:571327Durchsuche

Vorwort

OOP

Ich beschäftige mich schon lange mit PHP. Heute werde ich die abstrakten Klassen und abstrakten Methoden in PHP/statische Attribute und statische Methoden/Single-Interest-Modus (monomorpher Modus) in PHP/Serialisierung und Deserialisierung zusammenfassen (Serialisierung und Deserialisierung).

1 Abstrakte Klassen und abstrakte Methoden in PHP
1  PHP中的抽象类与抽象方法
 
  1. Was ist eine abstrakte Methode?
Methoden ohne Methodenkörper {} müssen mit dem Schlüsselwort abstract geändert werden. Eine solche Methode wird als abstrakte Methode bezeichnet.
abstrakte Funktionen (); // Die abstrakte Methode

2. Was ist eine abstrakte Klasse?
Eine Klasse, die abstrakte Methoden enthält, wird abstrakte Klasse genannt. Abstrakte Klassen müssen mit dem Schlüsselwort abstract geändert werden.
    #                                                        Die Klasse muss eine abstrakte Klasse sein;
Abstrakte Klassen können nicht instanziiert werden.
                                                                                                                             ’ ’ s ’ s                                                                                       Beschränken Sie einfach die Instanziierung! ! !
4. Die Unterklasse erbt die abstrakte Klasse, daher muss die Unterklasse alle abstrakten Methoden der übergeordneten Klasse neu schreiben. Es sei denn, die Unterklasse ist auch eine abstrakte Klasse.
                                                                                                                                                                                      
① Instanziierung begrenzen. (Eine abstrakte Klasse ist eine unvollständige Klasse. Die darin enthaltene abstrakte Methode hat keinen Methodenkörper und kann daher nicht instanziiert werden.)
② Die abstrakte Klasse bietet eine Spezifikation für die Vererbung von Unterklassen. Wenn eine Unterklasse eine abstrakte Klasse erbt, muss sie die in der abstrakten Klasse definierten abstrakten Methoden enthalten und implementieren.
                                                        Georgia, 'Times New Roman', Sans-Serif; Schriftgröße: 14 Pixel; Zeilenhöhe: 25 Pixel; Höhe: 38px; Hintergrundfarbe: #1570a6;" border="0 "> 2 Statische Eigenschaften und statische Methoden
span>
 
   1. static
    ① Sie können Attribute und Methoden ändern, die als statische Attribute bzw. statische Methoden bezeichnet werden, auch direkt als Klassenattribute und Klassenmethoden bezeichnet.
                                                                                                ’ ’ t          ’ ’ zusammen mit ③ ③ ③ ③ Statische Eigenschaften und Methoden in Es wird beim Laden der Klasse deklariert. ④ Statische Methoden, nicht statische Attribute oder Methoden können nicht aufgerufen werden (noch nicht geboren)
⑤ In einer Klasse können Sie das Schlüsselwort self verwenden, um auf den Klassennamen zu verweisen.
class person {
static $ sex = "nan";
Function say () {
echo self :: $ sex; Attribut ist das statische Attribut ist das statische Attribut ist das statische Attribut ist das statische Attribut wird gemeinsam genutzt. Das heißt, viele neue Objekte haben auch das gleiche Attribut.

2. final
① letzte geänderte Klasse, diese Klasse ist die letzte Klasse und kann nicht vererbt werden;
② letzte geänderte Methode, diese Methode ist die letzte Methode und kann nicht überschrieben werden!
③ final kann keine Attribute ändern.

3. Const-Schlüsselwort
Beim Deklarieren von Konstanten in einer Klasse können Sie nicht die Funktion define() verwenden. Sie müssen das Schlüsselwort const verwenden.
Ähnlich wie bei der Define ()-Anweisung kann die const-Schlüsselwortdeklaration nicht mit $ versehen werden und alle müssen in Großbuchstaben geschrieben werden!
Sobald eine Konstante deklariert wurde, kann sie nicht mehr geändert werden. Beim Aufruf ist es dasselbe wie bei static und verwendet den Klassennamen Person:: als Konstante.
[Zusammenfassung] Mehrere spezielle Bediensymbole
1.. Sie können nur die Zeichenfolge "" "
2, = & gt; key"=>"value"]
verbinden 3. -> Das Objekt (von $this new generiertes Objekt) verwendet Mitgliedsattribute und Mitgliedsmethoden.
4. : : ① Verwenden Sie das Schlüsselwort parent, um die gleichnamige Methode in der übergeordneten Klasse aufzurufen; parent::say();
② Verwenden Sie den Klassennamen (und self), um die statischen Eigenschaften aufzurufen. statische Methoden und konstant.





3 Einzelinteressenmodus (monomorpher Modus) in PHP
 
Der Simplex-Modus wird auch als monomorpher Modus bezeichnet


Es kann garantiert werden, dass eine Klasse nur eine Objektinstanz haben kann.
                                                                                                                                                 
② Stellen Sie externe Methoden zum Abrufen von Objekten bereit. Bestimmen Sie in der Methode, ob das Objekt leer ist, und geben Sie es zurück. Wenn es nicht leer ist, geben Sie es direkt zurück.
③ Die Attribute des Instanzobjekts und die Methoden der Vergangenheit Objekte müssen statisch sein.
④ Danach können Objekte nur noch mit den von uns bereitgestellten statischen Methoden erstellt werden. $s1 = Singleton::getSingle(); >
4 Serialisierung und Deserialisierung (Serialisierung und Deserialisierung Serialisierung)


 
1. Serialisierung: Der Prozess der Konvertierung eines Objekts in eine Zeichenfolge durch eine Reihe von Operationen wird als Serialisierung bezeichnet.
2. Deserialisierung: Konvertieren des Serialisierten. Der Prozess der Konvertierung einer Zeichenfolge in ein Objekt wird Deserialisierung genannt ;
3. Wann wird Serialisierung verwendet?
            ① Wenn das Objekt über das Netzwerk übertragen werden muss;
Serialisierung: $str = serialize($duixiang);
Deserialisierung: $duixiang = unserialize($str);
5. __sleep() magische Methode:
① Bei Ausführung Wenn das Objekt serialisiert wird , die Funktion __sleep() wird automatisch ausgeführt.               ② Die Funktion __sleep() ist erforderlich, um ein Array zurückzugeben. Die Werte im Array sind Attribute, die nicht im Array enthalten sein können Serialisierung; 6. __wakeup()Magic-Methode:
① Beim Deserialisieren eines Objekts wird die __wakeup()-Methode automatisch aufgerufen.
② Beim automatischen Aufruf wird sie zum erneuten Kopieren der durch die Deserialisierung generierten neuen Objektattribute verwendet ;
function __wakeup(){
$this->name = "李思";



5 Einschränkungstyp
 
1. Typbeschränkung: bezieht sich auf das Hinzufügen eines Datentyps vor einer Variablen, um einzuschränken, dass die Variable nur den entsprechenden Datentyp speichern kann. (Dieser Vorgang ist in stark typisierten Sprachen üblich. In PHP nur Kann Typ realisiert werden Einschränkungen von Arrays und Objekten)
2. Wenn es sich bei der Typeinschränkung um eine bestimmte Klasse handelt, können diese Klasse und Unterklassenobjekte dieser Klasse übergeben werden.

3. In PHP können Typeinschränkungen nur in formalen Parametern auftreten von Funktionen.
           Klasse Person{}
                     Klasse Schüler.                                                                        echo " 111";
echo $p->name;
11" ); 0px solid #000000; border-collapse: Collapse; Wortumbruch : Pausenwort; Schriftfamilie: Georgia, „Times“, serifenlos; Zeilenhöhe: 100 %; -color: #1570a6;" border="0">6 Zusammenfassung der magischen Methoden

 
1. __construct(): Konstruktor, ruft automatisch
auf wenn ein Objekt neu ist 2. __destruct(): Destruktor, ruft automatisch
auf, wenn ein Objekt zerstört wird 3. __get(): Zugriffsklasse Wird automatisch aufgerufen, wenn ein privates Attribut vorhanden ist. Übergeben Sie den gelesenen Attributnamen und geben Sie $this->attribute name
zurück. 4. __set(): Wird automatisch aufgerufen, wenn einem privaten Attribut der Klasse ein Wert zugewiesen wird. Übergeben Sie den Attributnamen und den Attributwert, die festgelegt werden müssen
5. __isset(): Wird automatisch aufgerufen, wenn isset() verwendet wird, um die privaten Attribute des Objekts zu erkennen. Übergeben Sie den erkannten Attributnamen und geben Sie isset($this->attribute name) zurück. 6. __unset(): Wird automatisch aufgerufen, wenn unset() zum Löschen der privaten Attribute des Objekts verwendet wird. Übergeben Sie den gelöschten Attributnamen und führen Sie unset($this->attribute name) in der Methode
aus. 7. __toString(): Wird automatisch aufgerufen, wenn echo zum Drucken des Objekts verwendet wird. Geben Sie den tatsächlichen Inhalt zurück, wenn Sie das Objekt drucken möchten. Die Rückgabe muss eine Zeichenfolge sein. 8. __call(): Wird automatisch aufgerufen, wenn eine undefinierte oder nicht veröffentlichte Methode in einer Klasse aufgerufen wird. Übergeben Sie den aufgerufenen Funktionsnamen und das Parameterlisten-Array. __clone(): Wird automatisch aufgerufen, wenn ein Objekt mit dem Schlüsselwort clone geklont wird. Die Funktion besteht darin, das neu geklonte Objekt zu initialisieren und zu kopieren. 10. __sleep(): Wird automatisch aufgerufen, wenn das Objekt serialisiert wird. Gibt ein Array zurück, dessen Werte serialisierbare Eigenschaften sind.
11. __wakeup(): Wird automatisch aufgerufen, wenn das Objekt deserialisiert wird. Um das neu generierte Objekt zu deserialisieren, führen Sie eine Initialisierungskopie durch. 12. __autoload(): Die Funktion muss außerhalb der Klasse deklariert werden. Wird beim Instanziieren einer Live-Klasse automatisch aufgerufen. Durch Übergabe des instanziierten Klassennamens kann die entsprechende Klassendatei automatisch unter Verwendung des Klassennamens geladen werden.

6  魔术方法小总结



Beim Lernen kann es zu Fehlern in den Notizen kommen. Ihre Kritik und Ratschläge sind willkommen.

Reflektiere, überprüfe und gewinne jeden Tag ein bisschen dazu------- Ich freue mich auf ein besseres Selbst

Das obige ist der detaillierte Inhalt vonTeilen Sie Ihr Wissen über einige häufig verwendete Methoden in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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