让我们从这个示例类开始:
class Widget {
private static $items = [];
public static function resetitems() { self::$items = []; }
public static function getitems() { return self::$items; }
public static function doobie() {
// does something and adds a ton of junk to self::$items
}
}
现在可以这样完成获取和重置属性的方法:
Widget::doobie();
$items = Widget::getitems();
Widget::resetitems();
但是,我不是总是必须resetitems在之后调用getitems(当意图始终是获取和重置时),而是尝试找到一种更优雅的方法来getitems在返回期间自动执行此操作。
我可以这样做:
public static function getitems() {
$wasteofspace = self::$items;
self::resetitems();
return $wasteofspace;
}
但难道不应该有一种方法可以返回直接属性本身并同时调用重置吗?像这样的东西(但这显然行不通哈哈):
public static function getitems() {
return self::$items & self::resetitems();
}
至尊宝的传说