【发布时间】:2016-03-02 01:36:48
【问题描述】:
我正在学习 php oop。但我无法理解在哪些情况下使用公共、私有和受保护。我知道 public 在类内部和类外部都可以访问,在类内部和继承它的类内部都可以访问,private 只能在类内部访问。但是如何知道属性或方法必须是受保护的或私有的呢?我知道如果为连接数据库编写类,它们必须是受保护的或私有的。但是,举个例子:我正在写注册类(下面的代码是真的吗?):
private $email;
private $username;
private $password;
private $securitycode;
private function register {
//here registrations codes, may be I must use public function ?
}
另一个例子:我在网站上有新闻部分,想要获取新闻详细信息(id、标题、文本、作者)并编写新闻类(下面给出的代码是真的吗?):
private $id;
private $title;
private $text;
private $author;
public function get_one_news($this->id) {
//here the code for getting the news, may be I must use protected function ?
}
另一个例子:我想获取用户或新闻的数量:我必须使用哪个:公共、受保护或私有功能? 另一个例子:每个用户(注册或未注册)都可以添加评论(id,评论):我可以使用公共$id吗?公共$评论?还是我必须使用受保护的或私有的?
拜托,我需要你的建议。如果我想添加/获取新闻、注册/登录用户、添加/编辑/获取数据库表中的数据、进行文件上传等,使用哪个(公共、受保护、私有属性和函数)? 我找不到我的问题的答案。
【问题讨论】:
标签: oop private public protected