tey*_*non 3 php interface is-empty
我知道我们可以实现PHP的可数接口来确定函数count()的工作方式以及使用像数组这样的对象的Iterator接口.
是否可以实现某种接口(或任何其他方式)来更改对象上的empty()行为?
从本质上讲,这是我希望能够做到的:
<?php
class test {
function __empty() {
if (count($this->data) > 0) {
return false;
}
return true;
}
}
Run Code Online (Sandbox Code Playgroud)
真是个不错的选择!
不,那里没有.迭代器行为和计数行为对对象没有意义; 这就是你可以覆盖它们的原因.empty()应用于对象的默认行为具有含义:它是对象的实例还是NULL?; 这就是你无法覆盖它的原因.
你可以改为:
isEmpty()并在那里实现它emptyObj()并在那里实现它不,PHP 没有它。您可以在wiki.php.net上请求此类功能。与此同时,您可以自己推出。
interface Empty_Checkable{
function isempty();
}
class test implements Empty_Checkable{
function isempty() {
if (count($this->data) > 0) {
return false;
}
return true;
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2776 次 |
| 最近记录: |