Wann würden Sie das $this
Schlüsselwort in PHP verwenden? Soweit ich weiß, bezieht sich $this
auf das erstellte Objekt, ohne den Namen des Objekts zu kennen.
Auch das Schlüsselwort $this
kann nur innerhalb einer Methode verwendet werden?
Ein Beispiel wäre toll zu zeigen, wenn Sie $this
verwenden können.
Eine Klasse kann ihre eigenen Konstanten, Variablen ("Eigenschaften" genannt) und Funktionen ("Methoden" genannt) enthalten.
%Vor%Einige Beispiele für $ pseudovariable:
%Vor%Das obige Beispiel gibt Folgendes aus:
Der häufigste Anwendungsfall ist die objektorientierte Programmierung, wenn Sie innerhalb einer Klasse definieren oder arbeiten. Zum Beispiel:
%Vor% Wie Sie sehen, können wir innerhalb der Funktion run
die Variable $this
verwenden, um auf die Instanz der Horse-Klasse zu verweisen, in der wir uns "befinden". Die zweite Sache, die Sie beachten sollten, ist, dass, wenn Sie 2 Horse-Klassen erstellen, die $this
-Variable innerhalb jedes einzelnen auf diese spezifische Instanz der Horse-Klasse verweist, nicht auf beide.
Sie würden $ nur verwenden, wenn Sie objektorientierte Programmierung in PHP durchführen. Bedeutung, wenn Sie Klassen erstellen. Hier ist ein Beispiel:
%Vor%Es wird in der objektorientierten Programmierung (OOP) verwendet:
%Vor%Die Pseudovariable $ this ist verfügbar wenn eine Methode von einem aufgerufen wird Objektkontext $ Dies ist eine Referenz zu dem aufrufenden Objekt (normalerweise der Objekt, zu dem die Methode gehört, aber möglicherweise ein anderes Objekt, wenn die Methode wird statisch aus dem aufgerufen Kontext eines sekundären Objekts).
Einmal weiß ich, dass ich das this
-Äquivalent in anderen Sprachen verwende, um eine 'Fluent'-Schnittstelle zu implementieren; Jede Klassenmethode, die andernfalls void
zurückgeben würde, gibt stattdessen this
zurück, so dass Methodenaufrufe leicht miteinander verkettet werden können.
Das obige könnte wie folgt heißen:
%Vor%Was für einige Dinge nützlich sein kann.
$ this wird verwendet, wenn Sie eine neue Instanz eines Objekts erstellt haben.
Stellen Sie sich das zum Beispiel vor:
%Vor%Um auf die Methode getHello zugreifen zu können, muss ich eine neue Instanz der Klasse Test erstellen:
%Vor%Tatsächlich wird $ innerhalb der Klasse verwendet, wenn es aktiviert wird. Es wird als scope bezeichnet.
Innerhalb Ihrer Klasse verwenden Sie $ this (für den Zugriff auf * $ _ hallo *), aber außerhalb der Klasse bezieht sich $ this NICHT auf die Elemente innerhalb Ihrer Klasse (wie * $ _ hallo *), ist es $ obj das tut.
Der Hauptunterschied zwischen $ obj und $ this besteht nun darin, dass $ obj von außerhalb
Die Verwendung von $ besteht darin, Methoden oder Instanzvariablen zu referenzieren, die zum aktuellen Objekt gehören
$ this- & gt; name = $ name oder $ this- & gt; callSomeMethod ()
wird die Variable oder Methode verwenden, die im aktuellen Objekt implementiert ist oder nicht.
Wenn Sie eine Implementierung der Elternklasse gezielt aufrufen möchten, tun Sie etwas wie
parent :: callSomeMethod ()
Fügen Sie dies Ihrer application.ini-Datei hinzu.
%Vor%Probieren Sie Bootstrap aus, um %code% (irgendwo vor der ersten Initialisierung der Sitzung) auszuführen, aber es sollte auch mit der Datei app.ini funktionieren.
Ich möchte mein Session-Cookie %code% erstellen. Basierend auf diesem Artikel , fügte ich hinzu das zu meinem %code% :
%Vor%Wenn ich mir das Session-Cookie in Firecookie ansehe, ist es leider nicht markiert als %code% wie ich angegeben habe. Welchen Schritt vermisse ich?
Damit dies zu 100% sicher ist.
Der Server sollte die Option http trace nicht zulassen. Der HTTP-Options-Trace meldet die Sitzungs-ID. Wenn ein Angreifer ein Java-Applet, Flash oder JavaScript mit Ajax injizieren kann, kann der Angreifer auch mit der eingestellten httponly-Flagge Cookies stehlen ...