Mein Versuch: Es gibt $getSomeData
Funktion in einer Datei namens bradpitt.php. Es ist eine einfache Funktion. Was ist nicht in einer Klasse. Wo ich einen anderen Dateinamen habe jolie.php. Diese Datei hat eine Klasse. Wo ich versuche, auf $getSomeData()
in dieser Datei zuzugreifen.PHP - Zugriff auf eine Nicht-Klasse-Funktion innerhalb einer Klasse
CoolPlugin.php
class CoolPlugin extends plugin
{
const COOLLIST = 'properties/coolBoy.json';
public function getSomeData() {
return DataUtil::readDataFile(self::COOLLIST);
}
bradpitt.php (Non-Klasse File - eine einfache Funktion)
$getSomeData = function(){
$plugin = new \simulator\CoolPlugin();
return $plugin->getSomeData();
};
jolie.php
include_once 'bradpitt.php';
class Jolie{
public $getSomeData;
public function __construct(){
global $getSomeData;
$this->$getSomeData();
}
}
output.php
include_once 'jolie.php';
$joiliePage = new Jolie();
var_dump($joiliePage->getSomeData);
ERROR:
Notice: Undefined variable: joiliePage in output.php on line 173
Notice: Trying to get property of non-object in output.php on line 173
**NULL**
Wie eine einfache Funktion aufzurufen und Zugriff innerhalb einer anderen Klasse in PHP (eine Rückkehr als Objekt haben)?
Was mache ich falsch, wo es NULL zurückgibt?
Für den Anfang: 'joliePage'! =' JoiliePage'. Fügen Sie 'jolie.php' auch in' output.php' ein? – FirstOne
@FirstOne - Entschuldigung! und korrigierte Tippfehler und fügte 'jolie.php' in' output.php' hinzu. –
Ihr Code in https://3v4l.org/G9T0H sollte eine Rückgabe als Objekt in CoolPlugin.php haben. Mein ultimatives Ziel ist es, 'coolBoy.json' Daten in' jolie.php' zu drucken. Wenn ich einen direkten Ausdruck in 'output.php' wie '$ see = $ getSomeData(); var_dump ($ see); 'Ich erhalte die JSON-Daten, aber wenn ich versuche, auf' joile.php' zuzugreifen und sie zu drucken, passiert das nicht. * Wie soll ich das selbe auf OO-Art machen? * –