
# Inštalácia

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

## Požiadavky

- PHP 8.2 alebo novšia verzia
- `ext-json`
- lokálny alebo pripojený súborový systém s podporou atómového premenovania v rámci
  adresára (vyhovuje akýkoľvek bežný lokálny disk)

storh nemá žiadne runtime závislosti Composer. Dve rozšírenia sprístupňujú voliteľné
funkcie, ak sú dostupné: `ext-pdo` alebo `ext-mysqli` pre
[SQL zrkadlá](https://storh.inline0.dev/sk/docs/sql-mirror) a `ext-apcu` pre zdieľaný
backend `Cache::apcu()`, ktorý nič neukladá do vyrovnávacej pamäte, keď APCu nie je k dispozícii.

## Výber koreňového adresára úložiska

Použite adresár, v ktorom môže proces PHP vytvárať súbory, čítať, zapisovať, premenovávať a
odstraňovať ich:

```php
use Storh\StorageRoot;

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

`StorageRoot` iba normalizuje zadanú cestu a upravuje názov priestoru názvov
na bezpečný názov adresára. Nekontroluje hostiteľskú aplikáciu, nečíta
globálne konštanty a nevyžaduje adaptér frameworku. Moduly pri prvom použití vytvoria
adresáre svojich kolekcií pod týmto koreňovým adresárom.

## Overenie 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 na stránku [Rýchly začiatok](https://storh.inline0.dev/sk/docs/quick-start) alebo si vyberte modul v časti
[Výber modulu](https://storh.inline0.dev/sk/docs/engines#choosing-an-engine).
