【发布时间】:2010-11-20 03:48:25
【问题描述】:
我正在重新格式化我的类(见下文) - 我认为我犯了一个错误,即在我的类中设置所有内容都具有相同的可见性,而属性实际上应该是私有的,而 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
}
}
【问题讨论】:
-
您能否更新您的问题以使问题更明显?在知道您要什么之前,没有人会查看所有代码。
-
好的 - 将我的问题更新为更简单的问题。
标签: php oop visibility setter getter