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

PHP访问类在另一个类中

发布时间:2020-12-13 18:20:57 所属栏目:PHP教程 来源:网络整理
导读:所以我有两个这样的类: class foo { /* code here */}$foo = new foo();class bar { global $foo; public function bar () { echo $foo-something(); }} 我想在所有方法栏中访问foo的方法,而不是在bar内的每个方法中声明它,如下所示: class bar { public f
所以我有两个这样的类:
class foo {
    /* code here */
}
$foo = new foo();
class bar {
    global $foo;
    public function bar () {
        echo $foo->something();
    }
}

我想在所有方法栏中访问foo的方法,而不是在bar内的每个方法中声明它,如下所示:

class bar {
    public function bar () {
        global $foo;
        echo $foo->something();
    }
    public function barMethod () {
        global $foo;
        echo $foo->somethingElse();
    }
    /* etc */
}

我也不想延长它.我尝试使用var关键字,但似乎没有用.如何在bar的所有方法中访问其他类“foo”我该怎么办?

你也可以这样做:
class bar {
    private $foo = null;

    function __construct($foo_instance) {
      $this->foo = $foo_instance;
    }

    public function bar () {
        echo $this->foo->something();
    }
    public function barMethod () {
        echo $this->foo->somethingElse();
    }
    /* etc,etc. */
}

以后你可以这样做:

$foo = new foo();
$bar = new bar($foo);

(编辑:李大同)

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

    推荐文章
      热点阅读