仅将值传递给另一个对象的对象

时间:2015-12-06 18:31:59

标签: php class oop object settings

我处于这种情况:我希望一个对象只做一件事,如果它被另一个对象调用:

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

0 个答案:

没有答案
相关问题