インストール
シェル
composer require storh/storh
必要条件
- PHP 8.2以降
ext-json- ディレクトリ内でアトミックな名前変更が可能なローカルまたはマウント済みのファイルシステム(一般的なローカルディスクであれば使用できます)
storhにComposerの実行時依存関係はありません。以下の拡張機能があると、オプション機能を利用できます。ext-pdoまたはext-mysqliはSQLミラー用、ext-apcuは共有Cache::apcu()バックエンド用です。APCuが利用できない場合、キャッシュは行われません。
ストレージルートの選択
PHPプロセスが作成、読み取り、書き込み、名前変更、削除できるディレクトリを使用してください。
PHP
use Storh\StorageRoot;
$root = StorageRoot::resolve(__DIR__ . '/var/storage', 'app');
StorageRootは指定されたパスを正規化し、名前空間を安全なディレクトリ名にサニタイズするだけです。ホストアプリケーションを調べたり、グローバル定数を読み込んだり、フレームワークアダプターを要求したりすることはありません。エンジンは、初回使用時にルートの下にコレクション用ディレクトリを作成します。
動作確認
PHP
$docs = new Storh\DocStore($root, 'smoke');
$record = $docs->put(['ok' => true]);
var_dump($docs->get($record->id())?->data()); // ['ok' => true]