【发布时间】:2013-01-28 18:48:44
【问题描述】:
我知道我们可以实现 PHP 的 countable 接口来确定函数 count() 的工作方式,以及使用像数组这样的对象的 Iterator 接口。
是否可以实现某种接口(或任何其他方式)来改变对象上 empty() 的行为?
基本上,这就是我希望能够做到的:
<?php
class test {
function __empty() {
if (count($this->data) > 0) {
return false;
}
return true;
}
}
很高兴拥有!
【问题讨论】:
-
"改变 empty() 的行为" 不,写你自己的函数叫做 MY_empty() - 是的
-
我觉得没有,但我不确定我理解为什么 PHP 不会实现这个。我认为这将是一个非常简单的实现。所有类都有 __empty 方法,扩展类扩展了它。特别是因为 PHP 对其进行了修改,所以空对象在对象上总是错误的。
-
随意编写自己的 php 版本来执行此操作 :-)