Как заполнить массив объекта в одном классе по результатам другого класса

У меня есть два класса, как показано ниже

<?php
class firstClass extends Thread {
public $Title;
public function __construct(){
$this->Vita = "h"; //code with this line works
$this->Vita = array();//If I define $this->Vita as an array, the variable from secondclass does not load into this variable.
}//construct
public function run(){}
public function function1(){
$thread = new secondClass();
$thread->start();
$this->Vita[] = $thread->var1; // this line does not works. I cannot push into array
//$this->Vita = $thread->var1; this line works
print_r($this->Vita);
}//function1
}//class first
class secondClass extends firstClass {
public $var1;
public function __construct(){}
public function run(){
$this->var1 = "Something";
}//run
}//class fetchLink

$firstclassObject = new firstClass;
$firstclassObject->function1();
?>

Как видите, я хочу передать $ var1 из второго класса в функцию в первый класс. Я получаю $ var1 второго класса в первый класс, но я не могу вставить его в переменную $ this-> Vita, когда Vita является массивом типов. Если Vita не массив, он работает нормально.

Любое предложение?

0

Решение

Я мог бы решить проблему. Кажется, в классе, который расширяет поток, нет поддержки для изменения содержимого массива.

Итак, я построил другой класс, который не расширяет Thread поверх других классов, как показано ниже:

<?php
class main {
public $arry = array();

function one(){
$thread = new secondClass();
$thread->start();
$arry[] = $thread->Vita;
print_r($arry);
}//function one
}//class main

$mainobj = new main;
$mainobj->one();

class firstClass extends Thread {
public $Title;
public function __construct(){
$this->Vita = "h"; //code with this line works
}//construct
public function run(){}
public function function1(){
}//function1
}//class first
class secondClass extends firstClass {
public $var1;
public function __construct(){}

public function run(){
$this->var1 = "HHHHHH";
$this->Vita = $this->var1;
}//run
}//class fetchLink

$firstclassObject = new firstClass;
$firstclassObject->function1();
?>

Я вызываю ступени из внешнего класса, называемого main, и получаю значение из потоков.
Таким образом, это работает.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]