-
Notifications
You must be signed in to change notification settings - Fork 0
Conexiones Opcionales
Tanuki incluye tres clases de conexión independientes y de carga perezosa — Database, Redis y Mongo. No comparten interfaz a propósito: cada una expone directamente la API nativa de su driver, para que el framework nunca crezca hacia un ORM/ODM oculto. Usa la que necesite tu proyecto; las que no uses nunca se conectan.
// Relacional (PDO) — ver Modelos para la API completa
Database::connect();
// Redis (requiere la extensión nativa php-redis)
Redis::connect()->set('key', 'value');
Redis::connect()->get('key');
Redis::connect()->expire('key', 3600);
// MongoDB (requiere la extensión mongodb + composer require mongodb/mongodb)
Mongo::connect()->selectCollection('posts')->find(['status' => 'published']);
Mongo::connect()->selectCollection('posts')->insertOne(['title' => 'Hola']);# Redis
sudo apt install php-redis
# MongoDB
sudo apt install php-mongodb
composer require mongodb/mongodbAmbos son totalmente opcionales — un proyecto que nunca llama a Redis::connect() o Mongo::connect() nunca abre esas conexiones.
# Redis (opcional)
REDIS_HOST=127.0.0.1
REDIS_PORT=6379
REDIS_PASSWORD=
REDIS_DATABASE=0
# MongoDB (opcional)
MONGO_URI=mongodb://127.0.0.1:27017
MONGO_DATABASE=Una API de consultas unificada entre una base relacional y una de documentos (Model::where() funcionando igual para ambas) es básicamente construir un ORM/ODM ligero — exactamente lo que este framework evita. Cada clase se mantiene como un envoltorio fino y honesto sobre su driver nativo, así nunca tienes que adivinar qué hace realmente una llamada por debajo.