4 ms·
I'm also not a php developer, but I agree. This seems like a huge footgun. I've never been a fan of this kind of magic, and I wonder how other languages deal w
by tail_exchange 2y ago
I'm also not a php developer, but I agree. This seems like a huge footgun.
I've never been a fan of this kind of magic, and I wonder how other languages deal with this case.
- crimsonnoodle58 2y agoWell in python I assume it would be equivalent of accessing: self.__dict__['property_name'] And if those PHP rules were in python you could just write: @property def property_name(self): return self.property_name In actual python though, that would infinitely recurse.
- arkh 2y agoOr if they could follow Godot syntax: https://docs.godotengine.org/en/stable/tutorials/scripting/gdscript/gdscript_basics.html#properties-setters-and-getters https://docs.godotengine.org/en/stable/tutorials/scripting/g... var milliseconds: int = 0 var seconds: int: get: return milliseconds / 1000 set(value): milliseconds = value * 1000
- kijin 2y agoIt might be a footgun, but it will be extremely obvious when it is triggered.
- Liquidor 2y agoLua has rawget() and rawset() to bypass the magic methods, which is used a lot inside/outside the metatables (objects with magic methods) to avoid magic loops I guess.