【问题标题】:Reference an object of extended class in PHP [closed]在 PHP 中引用扩展类的对象 [关闭]
【发布时间】:2012-08-26 02:50:59
【问题描述】:

我有 3 个班级名称:“ClassA”、“ClassB”、“ClassC”。

ClassB 扩展了 ClassAClassC.php 包括 ClassA.php,然后是 ClassB.php

我在 ClassC 中有一个数组 $arrayA:var $arrayA;

下面的事情我该怎么做?

_ 当我在 ClassA 中创建 ClassC 的实例时:$this->ClassC

$arrayAClassA 中为:$this->ClassC->arrayA,

arrayA的值通过ClassC的过程改变了,$this->ClassC->arrayA的值也改变了!

_ 调用$this->ClassC->arrayA 作为ClassA 中的对象。

_ 在 B 类中使用它。

【问题讨论】:

  • 你的问题不是很清楚。您能否发布一些实际代码来显示您要完成的工作?
  • 另外,让我们非常在技术环境中使用我们的话。短语“ClassC 包含 ClassA 然后 ClassB”是没有意义的,因为类不“包含”事物。你的意思是“扩展”?或者只是文件 ClassC 被定义在 PHP 中是否包含文件 A 和 B 被定义?
  • 对不起!我的意思是 ClassC.php 包括 ClassA.php!我对那个错误感到非常抱歉

标签: php class reference


【解决方案1】:

如果我遵循正确,答案的本质是对象不会在引用它们的每个上下文中“复制”,它们是“指向”的。

假设您有一个 Person 对象,并且该人有一个名为“hometown”的属性,它是 Town 的一个实例。在非常笼统的伪代码中:

Town->name = "Portland";
Person->hometown = Town;
Person->hometown->name = "Detroit";
echo Town->name;

// output is "Detroit"

【讨论】:

  • 谢谢你!我找到了另一种方法来做我上面发布的事情,但这不是我的愿望(我在谈论我的方式,不要误解:D)。我希望是这样的:link about it
猜你喜欢
  • 1970-01-01
  • 2016-08-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-01-16
  • 1970-01-01
相关资源
最近更新 更多