-
Notifications
You must be signed in to change notification settings - Fork 0
Preguntas Frecuentes
¿Cómo añado autenticación?
Ya está integrado — ver Autenticación (tanuki_login). Viene inerte por defecto; descomenta sus rutas en routes.php para activarlo.
¿Hay un panel de administración?
Sí — ver Panel admin (tanuki_admin). Depende de tanuki_login, registra modelos en un solo archivo, sin código por recurso.
¿Puedo usar otro motor de base de datos (PostgreSQL, SQLite)?
Sí — pon DB_DRIVER en .env a mysql, pgsql, o sqlite. Para SQLite, define también DB_PATH. Ver Modelos.
¿Puedo usar el framework sin base de datos? Sí. La conexión es perezosa — si ninguna ruta llama nunca a un modelo, nunca se abre ninguna conexión.
¿Dónde van los assets (CSS, JS)?
En public/assets/. Se sirven directamente por el servidor web al estar dentro de la raíz de documentos. Referéncialos con url('/assets/css/app.css').
¿Habrá un sistema de idiomas/i18n?
Ya está integrado — t() + diccionarios JSON, más un selector de idioma funcional con prefijo de URL (/en/..., /es/...). Ver Internacionalización.
¿Por qué Redis/Mongo/Database no comparten una interfaz? A propósito — una API de consultas unificada entre bases relacionales y de documentos es básicamente un ORM/ODM ligero, algo que este framework evita deliberadamente. Cada clase es un envoltorio fino y honesto sobre su driver nativo. Ver Conexiones opcionales.
¿Por qué la protección CSRF no se fuerza automáticamente en cada ruta? Forzarla globalmente obligaría a cualquier formulario de cualquier proyecto — incluyendo webhooks y endpoints tipo API sin sesiones — a llevar un token, lo necesite o no. Es opcional por formulario en su lugar; ver Seguridad.
¿Cómo elimino el CRUD de ejemplo de TODO?
Borra models/TodoModel.php, controllers/TodoController.php, views/todo/, y sus entradas en routes.php y config/nav.php. No tiene dependientes en ningún otro sitio.
¿Cómo elimino tanuki_login o tanuki_admin?
Ver la sección "Eliminar la extensión" al final de Autenticación y Panel admin respectivamente — ambos están aislados por diseño.
Mi ruta devuelve 404 aunque está en routes.php — ¿qué falla?
La causa más común: un espacio extra en la clave de ruta ('GET /ruta' en vez de 'GET /ruta'). Las claves de ruta se comparan como strings exactos. Ver Rutas.
Me da un PDOException al conectar a db / falla getaddrinfo.
DB_HOST está puesto a un nombre de servicio de Docker (db) pero estás corriendo localmente sin Docker (o viceversa) — mira Docker para la diferencia de .env entre ambos entornos.