PHP中的SplObjectStorage和含糖语法

时间:2011-11-29 06:26:01

标签: php object spl key-value-store

快一点;我怀疑这是可能的,但有没有办法利用PHP的array($key => $value);语法来处理SplObjectStorage个对象?

我的意思是,有没有这样的方法可以实现:

$store = // ?
    new KeyObject() => new ValueObject(),
    new KeyObject() => new ValueObject(),
    // ...

在初始化对象库的上下文中?截至目前我只是使用:( 并且可能会继续,考虑到这种可能性的纯粹不可能性

$store = new SplObjectStorage();
$store[new KeyObject()] = new ValueObject();
$store[new KeyObject()] = new ValueObject();
// ...

会很好,非常怀疑它,但也许有人知道的更好。

1 个答案:

答案 0 :(得分:2)

为什么不这样做:

$store = new SplObjectStorage();

$data = array(
    array(new KeyObject, new ValueObject),
    array(new KeyObject, new ValueObject),
    array(new KeyObject, new ValueObject),
);

foreach($data as $item) {
    list($key, $value) = $item;
    $store->attach($key, $value);
}

它不漂亮,但它至少简洁。