我正在重新格式化我的类(见下文) - 我认为我犯了一个错误,即在我的类中设置具有相同可见性的所有内容,而属性实际上应该是私有的,而 getter/setter 在大多数情况下应该是公共的。
要获取一个属性,我只需 $path->propertyname 但我注意到拥有 setter/getter 更实用。如果我要实现 getter,我应该为每个属性制作一个,还是可以为整个班级制作一个?因此,例如说我想获取控制器名称...
public function getController( ) {
return $this->controller;
}
那会返回控制器的私有财产吗?拥有更通用的 getter/setter 甚至是为我获取和设置的混合方法是否很常见?
这是类结构(只是属性/方法):
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
}
}