在PHP中等效的python装饰器

时间:2016-04-18 15:16:09

标签: php python decorator python-decorators

我想在php中复制面向方面的编程

假设我有这样的事情:

def wrapper(func):
   print ("start")
   func()
   print ("end")

@wrapper
def hello():
   print ("hello")

php中的等价物是什么?

1 个答案:

答案 0 :(得分:1)

我是Go的作者! AOP框架可以告诉你PHP中没有直接的Python装饰器,因为在PHP中所有类都是关闭的。这意味着没有特殊扩展(如Runkit或PHP-AOP)的方法和类没有运行时更改。 如果没有它,您可以使用具有附加逻辑的装饰器或代理,或者安装Go!可以自动为原始类创建装饰器的框架。如果您有一个大项目,例如企业应用程序

,这将是一个很好的选择