Я хотел бы повторить аспектно-ориентированное программирование в php
Предполагая, что у меня есть что-то вроде этого:
def wrapper(func):
print ("start")
func()
print ("end")
@wrapper
def hello():
print ("hello")
Что эквивалентно в php?
Я автор Go! AOP Framework и может сказать вам, что нет прямого эквивалента декораторов Python в PHP, потому что в PHP все классы закрыты. Это означает, что нет никаких изменений времени выполнения для методов и классов без специальных расширений, таких как Runkit или PHP-AOP.
Без этого вы можете использовать декораторы или прокси с дополнительной логикой или установить Go! рамки, которые могут автоматически создавать декораторы для ваших оригинальных классов. Это будет отличным вариантом, если у вас большой проект, например, корпоративные приложения
Других решений пока нет …