laravel中的基本继承

时间:2016-08-26 03:41:40

标签: php laravel inheritance

我对OOP很新。我已经读过派生类可以访问基类的公共成员和受保护成员。

A.php

<?php
namespace App\Http\Controllers;
class A extends Controller
{
      public $x=5;
      public function index()
      {...}
}

B.php

<?php
namespace App\Http\Controllers;
class B extends A
{
     public function index()
     {
          print_r($x);
     }
}

为什么$x无法从派生类访问?  我有这条路线:

 Route::get('/B/index','B@index');

我收到了错误:

  

未定义的变量x。

2 个答案:

答案 0 :(得分:3)

在代码中进行以下更改:

class B extends A
{
     public function get()
     {
         echo $this->x;  // will echo the value in variable $x;
     }
}

$obj = new B;
$obj->get();

答案 1 :(得分:3)

请稍后更改代码。它会显示结果。

class A
{
      public $x=5; //or protected $x=5;
      public function index()
      {
        echo "A";
      }
}

class B extends A
{
    public function index()
    {
       echo $this->x;   
    }

}

$classB = new B();
$classB->index();

您可以使用:http://phptester.net/在线测试

我希望能帮到你