Haben eine Klasse, die ich verwende, überschreibe ich Variablen in der Klasse, um sie zu den Werten, die ich brauche ändern, aber ich auch nicht sicher, ob oder wie zu handhaben Problem. Ich muss einen Schlüssel hinzufügen, der für jede dieser URLs generiert wird, bevor die Klasse sie aufruft. Ich kann die Klassendatei selbst nicht ändern.Wie verwende ich eine Variable innerhalb einer erweiterten Klasse öffentlichen Variablen
use Theme/Ride
class ETicket extends Ride {
public $key='US20120303'; // Not in original class
public $accessURL1 = 'http://domain.com/keycheck.php?key='.$key;
public $accessURL2 = 'http://domain.com/keycheck.php?key='.$key;
}
Ich verstehe, dass Sie eine Variable in der Einstellung der öffentlichen Klassenvariablen nicht verwenden können. Ich bin mir nicht sicher, wie ich so etwas im richtigen Format machen könnte.
Meine OOP Fähigkeiten sind schwach. Ich gebe es zu. Also, wenn jemand einen Vorschlag hat, wo ich darüber nachlesen und einen Hinweis bekommen könnte, würde es auch geschätzt werden. Ich schätze, ich brauche OOP für Dummies. =/
---- --- UPDATE
Die anfängliche FAHRT Klasse 2 URLs gesetzt.
public $accessURL1 = "http://domain.com/index.php";
public $accessURL2 = "http://domain.com/index2.php";
Ich sollte sie überschreiben, damit die RIDE-Klasse meine neuen Domänen verwenden wird.
Ich kann die folgende hinzufügen und es funktioniert ...
class ETicket extends RIDE {
public $accessURL1 = 'http://mydomain.com/myindex.php';
public $accessURL2 = 'http://mydomain.com/myindex2.php';
}
Allerdings möchte ich auch von anderswo eine Variable übergeben ($ key) als Parameter an die URL, wenn ich sie so außer Kraft setzen, wenn ich Rufen Sie RIDE auf, es hat eine URL mit dem Wert von KEY am Ende. (? Key = keyvalue)
Hallo, hat diese Antwort überhaupt geholfen? –
Entschuldigung für die Verzögerung in einer Antwort. Ich bekomme, was Sie tun, aber nicht sicher, wie Sie es in der Umgebung implementieren, die ich verwende. Ich vermute, dass es meine Beschreibung des Problems ist, die ich zu haben scheint. Ich werde versuchen, die erste Frage zu erweitern. –