我处于这种情况:我希望一个对象只做一件事,如果它被另一个对象调用:
EX:
class obj{
private $doIt=false;
private function enableDoIt(){
$this->doIt=true;
}
public function fn(){
$obj= new obj();
$obj->enableDoIt(); // must work
}
}
$obj=new obj();
$obj->enableDoIt(); // <- must fail
我想只从我的代码启用设置,不要让班级用户设置它,所以我不能使用公共设置器......
有什么想法吗?
编辑:
正如我在你的评论中看到的,我需要类似的东西:
obj friend obj
通过这种方式,我可以使用我班级内部的私人变量来获取myclass本身的新属性。
class obj{
private $count=0;
private function fn(){
nc=new obj();
nc->cont=2; //called from inside class obj -> want to work
}
}
nc=new obj();
nc->cont=2; //called from outside class obj -> want to not work