Установка
composer require storh/storh
Требования
- PHP 8.2 или новее
ext-json- локальная или смонтированная файловая система с поддержкой атомарного переименования внутри каталога (подойдет любой обычный локальный диск)
storh не имеет зависимостей среды выполнения Composer. При наличии двух расширений становятся доступны дополнительные функции: ext-pdo или ext-mysqli для зеркал SQL и ext-apcu для общей серверной части Cache::apcu(), которая ничего не кэширует, если APCu недоступен.
Выберите корневой каталог хранилища
Выберите каталог, в котором процесс PHP может создавать, читать, записывать, переименовывать и удалять файлы:
use Storh\StorageRoot;
$root = StorageRoot::resolve(__DIR__ . '/var/storage', 'app');
StorageRoot только нормализует указанный путь и преобразует пространство имен в безопасное имя каталога. Оно не проверяет хост-приложение, не читает глобальные константы и не требует адаптера фреймворка. При первом использовании механизмы хранения создают каталоги коллекций в корневом каталоге.
Проверьте, что все работает
$docs = new Storh\DocStore($root, 'smoke');
$record = $docs->put(['ok' => true]);
var_dump($docs->get($record->id())?->data()); // ['ok' => true]
Продолжите с раздела Быстрый старт или выберите механизм хранения в разделе Выбор механизма хранения.