PHP: Aufrufen einer benutzerdefinierten Funktion innerhalb Konstruktor?
Habe ich eine Klasse userAuth
im Konstruktor habe ich zusätzlichen code zum prüfen der Benutzer gültig ist oder nicht, wenn es keinen Wert in der session dann habe ich cookies überprüfen (als Teil von "Remember Me" - Funktion), wenn es einen bestimmten Wert im inneren cookies, dann rufe ich eine Funktion ConfirmUser
zu überprüfen, Ihre Authentizität aus der Datenbank. Auf der Grundlage der zurückgegebene Wert von der confirmUser Funktion bin ich wieder ein boolescher Wert (true oder fales) Wert im Konstruktor.
Ich habe meine Klasse als:
<?php
class userAuth {
function userAuth(){
//code
}
function confirmUser($username, $password){
//code
}
}
$signin_user = new userAuth();
?>
confirmUser
Funktion nimmt zwei string-Typ Parameter und return return ein integer-Wert von 0, 1, 2.
Kann ich nicht hinzufügen, code confirmUser
- Funktion innerhalb des Konstruktors als ich diese Funktion noch ein paar Plätze in meiner Anwendung.
So, ich will wissen, wie Sie eine benutzerdefinierte Funktion innerhalb der Konstruktor in PHP. Bitte helfen Sie.
Dank!
- Fügen Sie einige code in Frage. Es gibt keinen Unterschied, wo Anruf-Funktion.
- Sicher enthalten/erforderlich für die Funktion der Erklärung von confirmUser, und Sie können anrufen
confirmUser
innen-Konstruktor...was ist das problem? - Sie sagte, Sie sind der Rückgabe ein boolescher Wert, der im Konstruktor, das ist ein bisschen seltsam. Ein Konstruktor kann nicht zurückkehren, alles andere als eine Instanz seiner Klasse. Können Sie das noch näher erläutern?
Du musst angemeldet sein, um einen Kommentar abzugeben.
$this->nameOfFunction()
Aber, wenn Sie in einer Klasse, Sie werden Methoden genannt.
Gibt es keinen Unterschied für den Aufruf einer Funktion innerhalb eines Konstruktors über den Aufruf von woanders. Wenn die Methode deklariert ist, in der gleichen Klasse, die Sie verwenden sollten
this->function()
Durch die Art und Weise, in php5 sind Sie schlug vor, die Namen Ihrer Konstruktor wie diese:
function __construct()
Wenn nicht, dann setzen
public
Schlüsselwort, bevor der Konstruktor-definitionpublic function userAuth()
Vorsichtig sein mit der Verwendung von $this im Konstruktor, obwohl, weil eine Verlängerung Hierarchie, es kann unerwartetes Verhalten:
Ausgabe:
In der Erwägung, dass:
Ausgabe:
können Sie rufen Sie mit $this