【发布时间】:2013-04-03 22:22:02
【问题描述】:
有没有办法重载等号运算符?
假设我有这个代码:
$variable1 = "a";
$variable1 = "c";
每次我将某些内容分配给$variable1 时,我都想保存到日志文件中,而不必执行以下操作:
$variable1 = "a";
add_to_some_logfile("a");
$variable1 = "c";
add_to_some_logfile("c");
除了将值分配给变量之外,有没有办法覆盖等号运算符以执行其他操作?
【问题讨论】:
-
为什么会被否决?这是一个合法的问题
-
您不能在变量上重载它,但您可以使用
__set()魔术方法为类属性重载它。 php.net/manual/en/language.oop5.overloading.php#object.set -
@G-Nugget 如何将它与会话变量一起使用?
-
@Harlandraka 你可以写一个类包装器,但你不能直接用
$_SESSION来做;