
# Instalación

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

## Requisitos

- PHP 8.2 o posterior
- `ext-json`
- Un sistema de archivos local o montado con semántica de renombrado atómico dentro de un directorio (cualquier disco local normal sirve)

storh no tiene dependencias de ejecución Composer. Dos extensiones habilitan funciones opcionales si están disponibles: `ext-pdo` o `ext-mysqli` para los [SQL espejos](https://storh.inline0.dev/es/docs/sql-mirror), y `ext-apcu` para el backend `Cache::apcu()` compartido, que no almacena nada en caché si APCu no está disponible.

## Elija una raíz de almacenamiento

Use un directorio en el que el proceso de PHP pueda crear y leer archivos, escribir en ellos, renombrarlos y eliminarlos:

```php
use Storh\StorageRoot;

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

`StorageRoot` solo normaliza la ruta proporcionada y sanitiza el espacio de nombres para convertirlo en un nombre de directorio seguro. No inspecciona la aplicación anfitriona, no lee constantes globales ni requiere un adaptador de framework. Los motores crean sus directorios de colección bajo la raíz al usarse por primera vez.

## Compruebe que funciona

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

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

Continúe con el [Inicio rápido](https://storh.inline0.dev/es/docs/quick-start) o elija un motor en [Comparación de motores](https://storh.inline0.dev/es/docs/engines#choosing-an-engine).
