我正试图绕过一些我似乎无法找到解决方案的东西。在A类中,我有一个属性,它是一个多维数组。在类A中实例化的类B中,我想从类A设置属性的索引值。我遇到了一个墙,在那里我不知道如何迭代属性来设置索引的值我我需要。这是我的意思的一个测试例子:
<?php
class SomeClass
{
protected $class;
protected $book;
public function __construct()
{
$this->book["genre"]["title"] = "The Haunting";
}
public function SomeTest()
{
$this->class = new AnotherClass();
$this->class->AnotherTest();
}
}
class AnotherClass
{
protected function setBook()
{
$indexes = func_get_args();
$value = array_pop($indexes);
/**
* So now I have the indexes which lead to the array
* depth I'd like to set a value to, but where do I
* go from here?
*
*/
}
public function AnotherTest()
{
$this->setBook("something", "else", "1984");
}
}
$someclass = new SomeClass();
$someclass->SomeTest();
&GT;
我很失落如何做我正在考虑的事情。
答案 0 :(得分:0)
使用参数启动class Another,传递启动器类!
class SomeClass{
public function SomeTest() {
$this->class = new AnotherClass($this);
$this->class->AnotherTest();
}
}
我在这些情况下使用创作者!
class AnotherClass{
function __contruct($creator){
$this->creator=$creator
}
function AnotherTest(){
$this->creator->setBook("something", "else", "1984");
}
答案 1 :(得分:0)
在这种情况下你为什么不使用继承?您的财产受到保护,我认为不应该在课堂外访问。
Hay你试过继承吗?。
感谢。