# desktop-mode/1.1.8/includes/framework/app/contracts/interface-store.php

OpenStation: Desktop Windows, Dock &amp; Virtual Desktops for WP Admin, version 1.1.8. 51 lines.

- Page: https://pluginprobe.com/plugins/desktop-mode/1.1.8/code/includes/framework/app/contracts/interface-store.php
- Raw: https://pluginprobe.com/plugins/desktop-mode/1.1.8/raw/includes/framework/app/contracts/interface-store.php
- Modified: 2026-09-04T15:30:56+00:00

Line numbers below start at 1. Link to a line or a range by appending a fragment to the
page URL, for example `https://pluginprobe.com/plugins/desktop-mode/1.1.8/code/includes/framework/app/contracts/interface-store.php#L10-L20`.

```php
<?php
/**
 * OpenStation App Framework — Store contract.
 *
 * Durable key/value storage an app may write: per acting user
 * (`user` scope) or site-wide (`site` scope). The host decides where
 * it lives — user meta and options on WordPress, files or a table on
 * a bare PHP host. Keys arrive already namespaced by the app.
 *
 * @package OpenStation
 */

namespace OpenStation\App\Contracts;

// Direct access, unless a standalone host is booting on bare PHP.
if ( ! defined( 'ABSPATH' ) ) {
	defined( 'OPENSTATION_STANDALONE' ) || exit;
}

interface Store {

	/**
	 * Read a stored value.
	 *
	 * @param string $scope    `user` | `site`.
	 * @param string $key      Key.
	 * @param mixed  $fallback Returned when unset.
	 * @return mixed
	 */
	public function get( $scope, $key, $fallback = null );

	/**
	 * Write a value.
	 *
	 * @param string $scope `user` | `site`.
	 * @param string $key   Key.
	 * @param mixed  $value Serialisable value.
	 * @return void
	 */
	public function set( $scope, $key, $value );

	/**
	 * Remove a value.
	 *
	 * @param string $scope `user` | `site`.
	 * @param string $key   Key.
	 * @return void
	 */
	public function delete( $scope, $key );
}

```
