加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

php – Laravel命令不能在子类中调用$this-> info()

发布时间:2020-12-14 19:46:13 所属栏目:大数据 来源:网络整理
导读:我刚刚开始使用 PHP中的基本概念OO, Foo.php class Foo extends Command { public function __construct() { parent::__construct(); } public function fire() { $bar = new Bar(); }} Bar.php class Bar extends Foo { public function __construct() { pa
我刚刚开始使用 PHP中的基本概念OO,

Foo.php

class Foo extends Command {


    public function __construct()
    {
        parent::__construct();
    }

    public function fire()
    {
        $bar = new Bar();
    }

}

Bar.php

class Bar extends Foo {

    public function __construct()
    {
        parent::__construct();
        $this->info('Bar');

    }
}

当我运行Foo :: fire()时,它给出:调用未定义的方法Foo :: __ construct().但是Foo显然有一个构造函数,我做错了什么?

我怀疑的另一件事是它可能是一个Laravel问题而不是PHP.这是我创建的工匠命令.

编辑:

在Bar中的任何地方调用$this-> info(‘Bar’)也会在非对象上调用成员函数writeln().为什么我不能从子类中调用父类的方法?

我也遇到了这个问题,并且觉得Marcin的反馈很冷淡而且无益,特别是在他的评论中.为此我很乐意回答你和其他任何偶然发现这个问题的人.

在原来的班级栏中:

class Bar extends Foo {

     public function __construct()
     {
        parent::__construct();
        $this->info('Bar');
    }
}

我只需要设置’output’的属性,如下所示:

class Bar extends Foo {

     public function __construct()
     {
        parent::__construct();
        $this->output = new SymfonyComponentConsoleOutputConsoleOutput();
        $this->info('Bar');
    }
}

希望这有用!

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读