La définition d'une variable dans une classe et l'utiliser dans les fonctions
Je suis en train d'apprendre le PHP classes, donc je peux commencer à coder plus OOP projets. Pour m'aider à apprendre, je construis une classe qui utilise le Rapidshare de l'API. Voici ma classe:
<?php
class RS
{
public $baseUrl = 'http://api.rapidshare.com/cgi-bin/rsapi.cgi?sub=';
function apiCall($params)
{
echo $baseUrl;
}
}
?>
$params
contient un ensemble de paire de clés, valeurs, comme ceci:
$params = array(
'sub' => 'listfiles_v1',
'type' => 'prem',
'login' => '746625',
'password' => 'not_my_real_pass',
'realfolder' => '0',
'fields' => 'filename,downloads,size',
);
Qui sera ensuite ajouté à $baseUrl
afin de rendre l'URL de la requête, mais je ne peux pas obtenir $baseUrl à apparaître dans mon apiCall()
méthode. J'ai essayé ce qui suit:
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=';
Et même essayé de $this->baseUrl = $baseUrl;
dans mon apiCall()
méthode au, je ne sais pas ce que l'enfer que je pensais il y lol.
Toute aide est appréciée merci 🙂
Vous devez vous connecter pour publier un commentaire.
Essayer
J'ai confiance en vous appelez ce code comme?
Attributs de classe doivent être préfixés par
$this
en PHP. Les seules exceptions sont les méthodes statiques et les constantes de classe lorsque vous utilisezself
.Fatal error: Cannot access empty property in C:\xampp\htdocs\RS_class\rs.class.php on line 9
$this
à l'intérieur d'une fonction, j'obtiens cette erreur :Using $this when not in object context
$this
) à l'intérieur d'une fonction, comme les états d'erreur, doit être utilisé dans le contexte de l'objet (dans les classes).Essayez ceci:
Vous pouvez accéder aux variables de classe int méthodes de ce genre.
Lorsque vous utilisez
$this->baseUrl = $baseUrl;
Vous modifiez la valeur de la classe var
$baseUrl
avec un local var$baseUrl
qui est probablement NULLEC'est pourquoi vous n'êtes pas obtenir n'importe quelle valeur de retour