Задать вопрос
Platton
@Platton

Общий доступ к переменной для всех классов php?

Как сделать возможным такую задачу:
- например имеются классы с одноименными методами - provide. Как сделать так чтобы в каждом из таких методов класса балы доступна переменная $title. А также при изменении ее в одном из методов, она изменялся и для других методов с таким же значением?
82ac785d42894857afb8dbd08aff0704.jpg
  • Вопрос задан
  • 862 просмотра
Подписаться 1 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 4
Fesor
@Fesor
Full-stack developer (Symfony, Angular)
class TitleProvider {
    private $title;
    public function getTitle() { return $this->title; }
    public function setTitle($title) { $this->title = $title;}
}

class Foo {
    private $titleProvider;

    public function __construct(TitleProvider $titleProvider){ 
        $this->titleProvider;
    }
}


как-то так. Либо статика. Либо вообще придумайте как сделать так что бы эти три класса не зависили от этой фигни.
Ответ написан
kimono
@kimono
Web developer
Создайте еще класс:
class MyVar {
  public static $title;
}

и обращайтесь к переменной:
public function provide(){
  MyVar::$title = 'Hello world!';
}
Ответ написан
@lyeskin
Singleton в помощь ?
Ответ написан
MetaDone
@MetaDone
Хорошо сформулированный вопрос - 50% решения
Для этих целей есть трейты
php.net/manual/ru/language.oop5.traits.php
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы