
# Инсталиране

```bash
composer require storh/storh
```

## Изисквания

- PHP 8.2 или по-нова версия
- `ext-json`
- локална или монтирана файлова система със семантика на атомарно преименуване в рамките на директория (подходящ е всеки обикновен локален диск)

storh няма зависимости по време на изпълнение, освен Composer. Две разширения отключват незадължителни функции, ако са налични: `ext-pdo` или `ext-mysqli` за [огледала на SQL](https://storh.inline0.dev/bg/docs/sql-mirror) и `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]
```

Продължете с [Бърз старт](https://storh.inline0.dev/bg/docs/quick-start) или изберете машина в [Избор на машина](https://storh.inline0.dev/bg/docs/engines#choosing-an-engine).
