
# Instalace

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

## Požadavky

- PHP 8.2 nebo novější
- `ext-json`
- místní nebo připojený souborový systém s podporou atomického přejmenování v rámci adresáře (vyhovuje jakýkoli běžný místní disk)

storh nemá žádné závislosti za běhu Composer. Dvě rozšíření zpřístupňují volitelné funkce: `ext-pdo` nebo `ext-mysqli` pro [zrcadla SQL](https://storh.inline0.dev/cs/docs/sql-mirror) a `ext-apcu` pro sdílený backend `Cache::apcu()`, který při nedostupnosti APCu nic neukládá.

## Výběr kořene úložiště

Použijte adresář, ve kterém proces PHP může vytvářet, číst, zapisovat, přejmenovávat a mazat soubory:

```php
use Storh\StorageRoot;

$root = StorageRoot::resolve(__DIR__ . '/var/storage', 'app');
```

`StorageRoot` pouze normalizuje zadanou cestu a převádí jmenný prostor na bezpečný název adresáře. Nezkoumá hostitelskou aplikaci, nečte globální konstanty a nevyžaduje adaptér frameworku. Enginy při prvním použití vytvářejí adresáře kolekcí pod kořenem.

## Ověření funkčnosti

```php
$docs = new Storh\DocStore($root, 'smoke');
$record = $docs->put(['ok' => true]);

var_dump($docs->get($record->id())?->data()); // ['ok' => true]
```

Pokračujte [Rychlým startem](https://storh.inline0.dev/cs/docs/quick-start) nebo si vyberte engine v části [Výběr enginu](https://storh.inline0.dev/cs/docs/engines#choosing-an-engine).
