несколько операторов объекта в одном вызове

Сожалею,

Может быть, этот вопрос уже существует, но я не смог найти. Я совсем новичок в PHP … просто мне нужно немного объяснений.

что означает следующую строку, когда мы используем много объектных операторов в одном вызове.

$variable = $this->any1->any2->any3->get_data(params);

Спасибо за ваше объяснение!

0

Решение

Вот пример:

class A{
private $any1; //a class B object

public function __construct(){ $this->any1=new B(); }

public function myMethod(){
$variable=$this->any1->any2->any3->get_data('aParam'); //You are here
var_dump($variable);
}
}

class B{
public $any2; //a class C object

public function __construct(){ $this->any2=new C(); }
}

class C{
public $any3; //a class D object

public function __construct(){ $this->any3=new D(); }
}

class D{
private $data=['aParam'=>'A content'];

public function get_data($params){ //Here is what you want
return $this->data[$params];
}
}

$a=new A();
$a->myMethod(); //you'll see: string(9) "A content"

Избегайте публичных атрибутов в классе, используйте методы getter и setter (там они короче).

0

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

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

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