Champion пишет:Статичные методы и не статичные ведут себя по-разному. Не может метод одновременно быть и так, и так. Ты ведь не можешь идти одновременно налево и направо.
Я могу идти или налево или направо, это я решаю и остаюсь я самим собой (пока еще не раздвоился), куда бы я не шел. Вот я и хочу заставить метод работать или так, или так, выбирать поведение на лету.
Я знаю, что вызвать функцию можно и так и так, но хотелось бы определить каким образом функция вызвана, как статик или нет, и от этого как раз определить её поведение.
У меня есть класс. В некоторых местах нужны, отдельные экземпляры этого класса, а в некоторых нужен глобальный экземпляр.
Конечно можно где то объявить переменную, и там где надо просто написать global $varFoo; а можно и прям внутри класса статическую переменную данного класса сделать, static $varFoo; и потом к ней обращаться как foo::$varFoo->bar(); Можно. Но задача стоит в другом, нужно чтобы был static и not static метод с одним именем и обращение происходило как foo::bar() или varFoo->bar()