Ich habe eine Datei, die ich als PHP verwende, um als Konfigurationsdatei zu dienen, um Informationen zu speichern, die möglicherweise häufig geändert werden müssen. Ich kehre das Array als ein Objekt, etwa so:Versuch, die Eigenschaft von Nichtobjekt von einem zurückgegebenen Objekt zu erhalten
return (object) array(
"host" => array(
"URL" => "https://thomas-smyth.co.uk"
),
"dbconfig" => array(
"DBHost" => "localhost",
"DBPort" => "3306",
"DBUser" => "thomassm_sqlogin",
"DBPassword" => "SQLLoginPassword1234",
"DBName" => "thomassm_CadetPortal"
),
"reCaptcha" => array(
"reCaptchaURL" => "https://www.google.com/recaptcha/api/siteverify",
"reCaptchaSecretKey" => "IWouldNotBeSecretIfIPostedItHere"
)
);
In meinem Unterricht habe ich einen Konstruktor diese zu nennen: private $ config;
function __construct(){
$this->config = require('core.config.php');
}
Und die Verwendung es mag:
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query(array('secret' => $this->config->reCaptcha->reCaptchaSecretKey, 'response' => $StrToken)));
Allerdings bin ich den Fehler gegeben:
[18-Apr-2017 21:18:02 UTC] PHP Notice: Trying to get property of non-object in /home/thomassm/public_html/php/lib/CoreFunctions.php on line 21
Ich verstehe nicht, warum dies geschieht das, was man bedenkt zurückgegeben als ein Objekt und es schien für andere Leute zu funktionieren, als ich diese Idee von einer anderen Frage bekam. Irgendwelche Vorschläge?
Was ist das stdClass-Sache? –
Das ist das Objekt. Wenn Sie ein Objekt durch Casting oder aus einer Quelle erstellen, die keine Klasse angibt, gehört es zur Klasse 'stdClass'. – AbraCadaver