使用类方法中类构造函数中创建的对象

Tyl*_*ler 2 php oop syntax

是否可以在该类的成员方法中使用在类构造期间创建的对象?

防爆

<?php
include ('AClass.php');

class Auto_Cart {
    function Auto_Cart() {
       $aclass = new AClass();
    }

    function DoSomething() {
       $aclass->amemberfunction();   

    }
}
?>
Run Code Online (Sandbox Code Playgroud)

当我调用DoSomething时,它应该调用aclass-> amemberfunction()

我认为我的语法错了,但也许这是不可能的.你能帮我吗?

谢谢!

Pet*_*ley 6

您需要将实例存储为实例的AClass成员变量(也称为"属性")Auto_Cart.

假设PHP4的构造函数的风格

class Auto_Cart
{
    /** @var $aclass AClass */
    var $aclass;

    function Auto_Cart()
    {
       $this->aclass = new AClass();
    }

    function DoSomething()
    {
       $this->aclass->amemberfunction();
    }
}
Run Code Online (Sandbox Code Playgroud)

作为一个FYI,在OOP中我们称之为组合 - 意味着一个对象自动或"懒惰地"创建并存储对另一个对象的引用.