访问父变量

How should I access this variable ?

class BaseController
{
    public function __construct()
    {
        $view = new Views;
        $view->layout = 'master';
    }
}

So I want to access $view on my other controller

class HomeController extends BaseController
{
    public function showForm()
    {
        // Access $view
    }
}

This way you cannot. $view is a local variable in your function. But you can make it a protected property so it is not accessible from the outside but can be inherited:

Members declared protected can be accessed only within the class itself and by inherited and parent classes.

So your class would be like:

class BaseController
{
    protected $view;

    public function __construct()
    {
        $this->view = new Views;
        $this->view->layout = 'master';
    }
}

and then access it:

class HomeController extends BaseController
{
    public function showForm()
    {
        echo $this->view->layout;
    }
}
class BaseController {
    protected $view = null;
    public function __construct() {
        $view = new Views;
        $view->layout = 'master';
        $this->view = $view;
    }
}
class HomeController extends BaseController {
    public function showForm() {
        // Access $view
        echo parent::$view;
    }
}
class BaseController
{
    public function __construct()
    {
        $this->view         = new Views;
        $this->view->layout = 'master';
    }
}

class HomeController extends BaseController
{
    public function showForm()
    {
        echo $this->view->layout;
    }
}

Define $view with protected in class and avoid this code because you increse the dependency

    class BaseController{
       public function __construct(){
         $view = new Views;
         $view->layout = 'master';
       }
    }

change you code to:

    class BaseController{
       protected $view;
       public function __construct($view = null){
          $this->view = $view;
          $this->view->layout = 'master';
      }
}



class HomeController extends BaseController{
   public function showForm(){
     echo parent::$view;
   }
}