Die Definition einer Variablen in einer Klasse und deren Verwendung in Funktionen
Ich versuche zu lernen, PHP-Klassen, so kann ich mit dem codieren beginnen mehr OOP-Projekte. Zu helfen, mich zu lernen, ich Baue eine Klasse, die verwendet die Rapidshare-API. Hier ist meine Klasse:
<?php
class RS
{
public $baseUrl = 'http://api.rapidshare.com/cgi-bin/rsapi.cgi?sub=';
function apiCall($params)
{
echo $baseUrl;
}
}
?>
$params
enthält eine Reihe von Schlüssel-paar Werten wie diesen:
$params = array(
'sub' => 'listfiles_v1',
'type' => 'prem',
'login' => '746625',
'password' => 'not_my_real_pass',
'realfolder' => '0',
'fields' => 'filename,downloads,size',
);
Wird später angehängt werden, um $baseUrl
um die Letzte Anfrage-URL, aber ich kann nicht get $baseUrl erscheinen in meinem apiCall()
Methode. Ich habe versucht, die folgenden:
var $baseUrl = 'http://api.rapidshare.com/cgi-bin/rsapi.cgi?sub=';
$baseUrl = 'http://api.rapidshare.com/cgi-bin/rsapi.cgi?sub=';
private $baseUrl = 'http://api.rapidshare.com/cgi-bin/rsapi.cgi?sub=';
Und sogar versucht $this->baseUrl = $baseUrl;
in meinem apiCall()
methid, ich weiß nicht, was die Hölle ich dachte es zwar lol.
Jede Hilfe ist geschätzt danke 🙂
InformationsquelleAutor Josh | 2010-03-25
Du musst angemeldet sein, um einen Kommentar abzugeben.
Versuchen
Ich hoffe, Sie rufen diesen code, wie so?
Class-Attribute müssen als Präfix
$this
in PHP. Die einzigen Ausnahmen sind statische Methoden und Klasse Konstanten wenn Sieself
.Fatal error: Cannot access empty property in C:\xampp\htdocs\RS_class\rs.class.php on line 9
Upps, das war ein Fehler meinerseits. Vielen Dank 🙂
wenn ich
$this
innerhalb einer Funktion, bekomme ich diesen Fehler :Using $this when not in object context
Es gibt keine Instanz (
$this
) innerhalb einer Funktion, wie der Fehler besagt, verwendet werden müssen Sie im Objekt-Kontext (innerhalb von Klassen).InformationsquelleAutor Greg K
Versuchen Sie dies:
InformationsquelleAutor John Feminella
Können Sie Zugriff auf Klassenvariablen int Methoden wie dieser.
Wenn Sie
$this->baseUrl = $baseUrl;
Ändern Sie den Wert des class var -
$baseUrl
mit einer lokalen var$baseUrl
das ist wahrscheinlich NULLDer Grund, warum man nicht immer alle Wert zurück
InformationsquelleAutor Sinan