Ich bin dabei, meine Klasse neu zu formatieren (siehe unten) - ich glaube, ich habe den Fehler gemacht, alles mit der gleichen Sichtbarkeit in meiner Klasse zu setzen, während Eigenschaften wirklich sein sollten Private und Getter/Setter sollten in den meisten Fällen öffentlich sein.Setters/Getters, Sichtbarkeit [OOP] in PHP
Um eine Eigenschaft zu ergattern, mache ich nur $ path-> propertyname, aber ich habe bemerkt, dass es praktischer ist, Setter/Getter zu haben. Wenn ich Getter implementieren würde, sollte ich für jede Eigenschaft einen erstellen oder kann ich einen für die gesamte Klasse erstellen? So zum Beispiel sagen, ich möchte den Controller-Namen zu bekommen ...
public function getController() {
return $this->controller;
}
Und das würde die Controller-Privateigentum zurückgeben? Ist es üblich, eine allgemeinere Getter/Setter oder sogar eine Hybrid-Methode, die und Sets für mich bekommt?
Hier ist die Klassenstruktur (nur Eigenschaften/Methoden):
class urlParser {
public static $url = '';
public static $controller = '';
public static $baseController = '';
public static $urls = '';
public static $template = '';
public static $captures = '';
public static $contentXML = '';
function __construct($urls) {
$this->urls = $urls;
$this->baseController = $urls['default'];
$this->get_url();
}
public function get_url() {
// sets following properties:
// url, template, controller, contentXML, baseController
}
}
Können Sie Ihre Frage aktualisieren, um die Fragen deutlicher zu machen? Niemand wird den ganzen Code durchsehen, bevor er weiß, wonach Sie fragen. – Blixt
Ok - meine Frage auf etwas einfacher aktualisiert. –