
# Namestitev

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

## Zahteve

- PHP 8.2 ali novejši
- `ext-json`
- lokalni ali priklopljeni datotečni sistem s semantiko atomskega preimenovanja znotraj imenika (ustreza kateri koli običajen lokalni disk)

storh nima izvajalnih odvisnosti Composer. Dve razširitvi omogočata izbirne funkcije, če sta na voljo: `ext-pdo` ali `ext-mysqli` za zrcalne kopije [SQL](https://storh.inline0.dev/sl/docs/sql-mirror) ter `ext-apcu` za skupno zaledje `Cache::apcu()`, ki ne predpomni ničesar, kadar APCu ni na voljo.

## Izbira korena shrambe

Uporabite imenik, v katerega lahko proces PHP ustvarja datoteke, bere in piše, preimenuje datoteke ter jih briše:

```php
use Storh\StorageRoot;

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

`StorageRoot` samo normalizira podano pot in imenski prostor pretvori v varno ime imenika. Ne pregleduje gostiteljske aplikacije, ne bere globalnih konstant in ne zahteva prilagodilnika za ogrodje. Mehanizmi ob prvi uporabi ustvarijo imenike zbirke pod korenom.

## Preverjanje delovanja

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

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

Nadaljujte s [hitrim začetkom](https://storh.inline0.dev/sl/docs/quick-start) ali izberite mehanizem v razdelku [Izbira mehanizma](https://storh.inline0.dev/sl/docs/engines#choosing-an-engine).
