Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/297.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 这里怎么了?屏幕上没有显示任何内容_Php_Debugging - Fatal编程技术网

Php 这里怎么了?屏幕上没有显示任何内容

Php 这里怎么了?屏幕上没有显示任何内容,php,debugging,Php,Debugging,运行时不显示任何内容。xdebug不运行。这个简单的例子不起作用 ini_set("display_errors", 1); error_reporting(E_ALL); abstract class Hello { protected function hello(); } class Helloworld extends Hello { public $world; public function __construct($world){ $t

运行时不显示任何内容。xdebug不运行。这个简单的例子不起作用

ini_set("display_errors", 1);
error_reporting(E_ALL);

abstract class Hello
{
    protected function hello();
}

class Helloworld extends Hello
{
    public $world;

    public function __construct($world){
        $this->world = $world;
    }

    public function hello() {
        echo 'Hello + '.$this->world;
    }
}

class Hiotherworld extends Hello
{
    public $world;

    public function __construct($world){
        $this->world = $world;
    }

    public function hello(){
        echo 'Hi + '.$this->world;
    }
}

$hello = new Helloworld("Earth");
$hello->hello();

$hi = new Hiotherworld("Mars");
$hi->hello();

致命错误:非抽象方法Hello::Hello()必须包含正文:
受保护函数hello()

致命错误:非抽象方法Hello::Hello()必须包含正文:
受保护函数hello()

您不能更改子类中方法的可见性。您将
hello()
声明为
protected
,因此它也必须在子类中
protected

我猜您想在
Hello
中将其声明为
public
作为受保护在这种情况下没有任何意义。您还错过了
摘要
关键字(谢谢@rNix),您应该将
$world
的声明移动到基类:

最后,
Hello
应该是这样的:

abstract class Hello
{
    $protected $world;

    abstract public function hello();
}

不能更改子类中方法的可见性。您将
hello()
声明为
protected
,因此它也必须在子类中
protected

我猜您想在
Hello
中将其声明为
public
作为受保护在这种情况下没有任何意义。您还错过了
摘要
关键字(谢谢@rNix),您应该将
$world
的声明移动到基类:

最后,
Hello
应该是这样的:

abstract class Hello
{
    $protected $world;

    abstract public function hello();
}
改变它

abstract class Hello
{
    protected function hello(){}
}
为我工作。

改变它

abstract class Hello
{
    protected function hello(){}
}
为我工作