ich folgendes Problem:PHP Zugriff auf eine Variable innerhalb einer Funktion eines Objekts in einem Objekt dieses Objekts
Ich habe ein Objekt der Klasse ‚Server‘. Dieses Objekt hat die Variable $ ip und ein Array $ services []. Im Array ist ein Objekt der Klasse Service. Gibt es eine Möglichkeit, auf die Variable $ ip innerhalb einer Funktion des Service-Objekts zuzugreifen?
class Server
{
private ip;
private services = [new Service()];
}
class Service
{
function checkServiceStatus()
{
connectToServer($IP);
// I need the IP of the Server it belongs to, in order to
// connect to the server and check its status
}
}
$WindowsServer = new Server();
Dies ist ein einfaches Codebeispiel für mein Problem. Es wäre schön, wenn ich auf die $ IP-Variable des Server-Objekts zugreifen könnte, zu dem das Service-Objekt gehört.
Verwenden $ this-> ip ... – Fil
Es hängt davon ab, wie Sie den Wert von 'ip' $ zu verwenden (was, warum mit einem Codebeispiel ist Ihre Frage ist nützlich). Wenn Sie eine Methode der Instanz von 'Service' aufrufen, die im Array von einer anderen Methode von 'Server' gehalten wird, können Sie '$ this-> ip' als Argument für diesen Methodenaufruf übergeben. Wenn Sie den Wert von "$ ip" als Attribut der "Service" -Instanz beibehalten, übergeben Sie ihn als Argument an den Konstruktor, wenn er zuvor im Array gespeichert wird (zB '$ services [] = new Service ($ this-> ip) '). –