是否可以在该类的成员方法中使用在类构造期间创建的对象?
实施例
<?php
include ('AClass.php');
class Auto_Cart {
function Auto_Cart() {
$aclass = new AClass();
}
function DoSomething() {
$aclass->amemberfunction();
}
}
?>
当我调用DoSomething时,它应该调用aclass-&gt; amemberfunction()
我认为我的语法错了,但也许这是不可能的。你能救我一下吗?
谢谢!
答案 0 :(得分: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();
}
}
仅仅作为一个FYI,在OOP中我们称之为组合 - 意味着一个对象自动或“懒惰地”创建并存储对另一个对象的引用。
答案 1 :(得分:1)
您需要存储对象的引用以便稍后使用它,因为它会在构造函数退出时丢失。尝试将其存储为Auto_Cart对象的成员,如下所示:
<?php
include ('AClass.php');
class Auto_Cart {
function Auto_Cart() {
$this->aclass = new AClass();
}
function DoSomething() {
$this->aclass->amemberfunction();
}
}
?>