Мой опыт выглядит следующим образом:
Если вы объявите свойство статическим, то его значение будет разделено между классом, в котором оно определено, и всеми подклассами.
Исключением является повторное объявление того же свойства в подклассах.В этом случае каждый подкласс будет иметь свое значение.Это означает, что вы должны помнить, чтобы повторно объявить свойство.
Однако из-за проблем, связанных с поздним статическим связыванием, если вы используете переменную self :: $ для доступа к свойству, то значение будет взято из суперкласса (если метод доступа был определен в суперклассе.Я не уверен, что произойдет, если метод доступа был определен в подклассе).
Если вместо этого вы используете static :: $ variable, это не должно вызывать проблем, но я не проводил такого тщательного тестирования при любых условиях.
Используете ли вы self :: $_instance или статический :: $ _ экземпляр для доступа к рассматриваемому свойству?Если это первое, попробуйте перейти на второе.
Я подозреваю, однако, может быть, лучше сделать свойство нестатичным, в зависимости от того, для чего оно предназначено.