首页 > 解决方案 > 是否可以像这样在单个对象中调用多个方法?

问题描述

我尝试在单个对象上调用多个函数。但我得到了这个错误

未捕获的错误:调用成员函数 dordor()

你能纠正我吗?

<?php

class Das
{
    public $a= 'mulut';
    public $b = 'anda';
    public $c = 'kotor';

    public function dor(){
        echo $this->a.PHP_EOL;
        echo $this->b.PHP_EOL;
        echo $this->c.PHP_EOL;
        echo PHP_EOL;
    }

    public function dordor(){
        echo 'lmao';
        echo PHP_EOL;
    }
}

$s = new Das();
$s->a = 'mulut';
$s->b = 'anda';
$s->c = 'kotor';
$s
->dor()
->dordor();

?>

标签: php

解决方案


您正在使用方法作为对象。$s->dor()->dor(); 但是 dor() 不是一个对象,而是一个方法。您必须$this->dordor();在您的 dor() 方法代码的末尾添加调用 dor() 方法,该方法与您称为 dor() 方法的对象相同。这个:

<?php

class Das
{
    public $a= 'mulut';
    public $b = 'anda';
    public $c = 'kotor';

    public function dor(){
        echo $this->a.PHP_EOL;
        echo $this->b.PHP_EOL;
        echo $this->c.PHP_EOL;
        echo PHP_EOL;
        $this->dordor();
    }

    public function dordor(){
        echo 'lmao';
        echo PHP_EOL;
    }
}

$s = new Das();
$s->a = 'mulut';
$s->b = 'anda';
$s->c = 'kotor';
$s->dor();

?>

推荐阅读