MatthiasMullie\Scrapbook\Adapters\Apc::setMulti PHP Метод

setMulti() публичный Метод

public setMulti ( array $items, $expire )
$items array
    public function setMulti(array $items, $expire = 0)
    {
        $ttl = $this->ttl($expire);
        // negative TTLs don't always seem to properly treat the key as deleted
        if ($ttl < 0) {
            $this->deleteMulti(array_keys($items));
            return array_fill_keys(array_keys($items), true);
        }
        // attempt to get locks for all items
        $locked = $this->lock(array_keys($items));
        $locked = array_fill_keys($locked, null);
        $failed = array_diff_key($items, $locked);
        $items = array_intersect_key($items, $locked);
        if ($items) {
            // only write to those where lock was acquired
            $this->apcu_store($items, null, $ttl);
            $this->expire(array_keys($items), $ttl);
            $this->unlock(array_keys($items));
        }
        $return = array();
        foreach ($items as $key => $value) {
            $return[$key] = !array_key_exists($key, $failed);
        }
        return $return;
    }