PHP: как сделать статическое наследуемое свойство независимым от другого потомка - PullRequest
0 голосов
/ 10 апреля 2019

Чего мы хотим добиться, так это унаследовать свойство ChildrenA :: $ независимо от другого класса.оно становится независимым, если объявляет свойство ChildrenA :: $ в значении класса по умолчанию.

//# ============ Declare class
    Class ParentClass{
        public static $property = ["parent"=>"im Parent"];
    }

    Class ChildrenA extends  ParentClass {
        //# must put in init because in real case the value is an expression
        public static function init(){
            static::$property["childrenA"] = "Im Children A";
        }
    }
    Class ChildrenB extends  ParentClass {
}
//# =============================================

//# in real case this called in app singleton
ChildrenA::init();

var_dump(ChildrenB::$property);

var_dump(ParentClass::$property);

var_dump Результат: ParentClass и ChildrenB также имеют статическую собственность ChildrenA

array(2) {
  'parent' =>
  string(9) "im Parent"
  'childrenA' =>
  string(13) "Im Children A"
}

как дать независимым детям A

1 Ответ

0 голосов
/ 10 апреля 2019

невозможно иметь свойство динамического статического наследования, указанное ниже. но это дает идею хранить в classCallerContainer. Здесь - мой ответ и пример кода в другом посте

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...