我可以在同一个类中的方法中访问私有变量吗?

时间:2015-10-21 08:31:06

标签: php laravel-5.1

我有这个控制器

class PageController extends Controller
{      
    private $myid;    
    public funciton index(){
     }    
   public function viewbyid($id){
      $this->myid = $id;
     return view('someview');
   }

   public function getRecord(){
        $id = $this->myid;
         echo $id; //it would be null here,if I am going to access this method.
        return view('anotherview');
   } 
}

1 个答案:

答案 0 :(得分:0)

是的,您可以访问私有变量,在旁边的任何地方,您使用OOPS PHP。所以可能有问题的是你可能正在使用diff对象访问getRecord()方法。

对于Eg:

$obj=new PageController();
$obj->viewbyid("Test");
$obj->getRecord();//Then it will display the result

如果重新初始化对象或创建新对象,则该对象将重新分配内存,因此以前保存的值将不存在。

对于Eg:

$obj=new PageController();
$obj->viewbyid("Test");
$obj=new PageController();//$obj will allocate memory in diff location so your previous values will be initialized to default.
$obj->getRecord();//Then it will display result as null