История изменений
Исправление micronekodesu, (текущая версия) :
Спасибо! Но на мой взгляд тут особо нет разницы, все равно не компилятор как-то там магически определяет о какой переменной идет речь, а это надо явно указать, просто тут этот объект не надо передавать явно.
В питоне есть еще методы класса, куда передается не инстанс, а сам класс, есть статикметоды, в которых ни класс, ни инстанс не передаются, можешь показать как это работает в php?
class Foo:
foo = 10
@classmethod
def bar(cls, value):
cls.foo = value
foo1 = Foo()
foo2 = Foo()
print(f"{foo1.foo=}, {foo2.foo=}")
foo1.bar(20)
print(f"{foo1.foo=}, {foo2.foo=}")
Результат
foo1.foo=10, foo2.foo=10
foo1.foo=20, foo2.foo=20
Для этого в php тоже есть какой-то «неявный» вариант?
Исходная версия micronekodesu, :
Спасибо! Но на мой взгляд тут особо нет разницы, все равно не компилятор как-то там магически определяет о какой переменной идет речь, а это надо явно указать, просто тут этот объект не надо передавать явно.
В питоне есть еще методы класса, куда передается не инстанс, а сам класс, есть статикметоды, в которых ни класс, ни инстанс не передаются, можешь показать как это работает в php?
class Foo:
foo = 10
@classmethod
def bar(cls, value):
cls.foo = 20
foo1 = Foo()
foo2 = Foo()
print(f"{foo1.foo=}, {foo2.foo=}")
foo1.bar(20)
print(f"{foo1.foo=}, {foo2.foo=}")
Результат
foo1.foo=10, foo2.foo=10
foo1.foo=20, foo2.foo=20
Для этого в php тоже есть какой-то «неявный» вариант?