php有没有装饰器,用PHP构造装饰器

我是一个新手开发人员,试图扩展我的工具箱并学习更多的技巧。我最近在Python中遇到了一个称为“decoration”的模式,我想知道是否/如何在PHP中实现它,因为我有一个现有的PHP代码库。在

这里有一个简短的例子来说明我的意思:import time

def log_calls(func):

def wrapper(*args, **kwargs):

now = time.time()

print("Calling {0} with {1} and {2}".format(

func.__name__,

args,

kwargs

))

return_value = func(*args, **kwargs)

print("Executed {0} in {1}ms".format(

func.__name__,

time.time() - now

))

return return_value

return wrapper

@log_calls

def test1(a,b,c):

print("\ttest1 called")

@log_calls

def test2(a,b):

print("\ttest2 called")

@log_calls

def test3(a,b):

print("\ttest3 called")

time.sleep(1)

test1(1,2,3)

test2(4,b=5)

test3(6,7)

它不一定要有那么漂亮的语法;我知道所有语言都有它们的细微差别,我知道PHP不支持这种语法。但是我仍然希望能够在尽可能少地重写代码的同时达到同样的效果。在

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值