我在重新格式化我的課(如下圖所示)的過程 - 我認爲我做了我的類相同的可見性設置一切的錯誤,而性能確實應該私人和getter/setter應該在大多數情況下公開。塞特斯/吸氣劑,能見度[OOP] PHP中
要抓住一個屬性,我只是做$ path-> propertyname,但我注意到它更具實用性,有setter/getters。如果我要實施獲得者,我應該爲每個財產製定一個,還是我可以爲整個班級制定一個?所以例如說我想獲得控制器的名稱...
public function getController() {
return $this->controller;
}
而這將返回控制器私有財產?有一個更通用的getter/setter,或者甚至是一個混合方法,爲我獲取和套是否很常見?
這裏的類結構(只是屬性/方法):http://php.net/overload
有兩大神奇的方法__get()
和__set()
這可能會做的正是你想要的東西:
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
}
}
你可以更新你的問題,使問題更明顯嗎?沒有人會在知道您要求的內容之前查看所有代碼。 – Blixt 2009-08-17 06:47:43
好的 - 更新我的問題,更簡單一些。 – 2009-08-17 12:26:03