Download the PHP package mongoose-studio/phobos-framework-database-sqlite without Composer

On this page you can find all versions of the php package mongoose-studio/phobos-framework-database-sqlite. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package phobos-framework-database-sqlite

Phobos Framework - SQLite Driver

PHP Version Phobos Framework

Phobos Framework

Driver SQLite para Phobos Framework Database Layer. Cero configuración de servidor: conecta a un archivo .sqlite o a una base de datos en memoria (:memory:), con las claves foráneas activadas por defecto y los PRAGMAs más útiles expuestos como opciones de conexión.

Es el driver ideal para tests (SQLite en memoria, rápido y aislado), prototipos y aplicaciones de escritorio o embebidas.

Características

Instalación

Dependencias

Este driver requiere:

Configuración

1. Registrar el Driver

En tu config/database.php:

2. Variables de Entorno

En tu archivo .env:

Opciones de Configuración

A diferencia de MySQL, SQLite no usa host, port, username, password, charset ni collation. La única opción obligatoria es database.

database (obligatorio)

Valor Resultado
Ruta a un archivo sqlite:/var/data/app.sqlite — persiste en disco
:memory: sqlite::memory: — vive en RAM, se pierde al cerrar la conexión

Nota sobre :memory:: cada conexión PDO nueva crea una base de datos en memoria independiente. Mientras reutilices la misma conexión (como hace el ConnectionManager), los datos persisten durante todo el proceso — perfecto para una suite de tests.

foreign_keys (por defecto true)

SQLite trae las claves foráneas desactivadas por defecto (una de las trampas más comunes del motor). Este driver las activa salvo que lo indiques explícitamente:

journal_mode

Controla el modo de journaling. WAL (Write-Ahead Logging) suele ser la mejor opción para concurrencia:

Valores válidos: DELETE, TRUNCATE, PERSIST, MEMORY, WAL, OFF.

busy_timeout

Milisegundos que SQLite espera ante un bloqueo antes de devolver SQLITE_BUSY:

synchronous

Nivel de sincronización con disco. Compromiso entre durabilidad y velocidad:

Valores válidos: OFF, NORMAL, FULL, EXTRA (o sus equivalentes numéricos 0, 1, 2, 3).

Opciones PDO Adicionales

Características Específicas de SQLite

Identificadores con Comillas Dobles

El driver usa comillas dobles para identificadores (el estándar SQL):

SQLite también acepta backticks (por compatibilidad con MySQL), por lo que el Query Builder del núcleo funciona sin cambios sobre este driver.

Transacciones Anidadas (Savepoints)

SQLite soporta savepoints, así que las transacciones anidadas del TransactionManager funcionan igual que en MySQL:

Niveles de Aislamiento

SQLite es SERIALIZABLE de forma nativa. A diferencia de MySQL, no soporta READ COMMITTED ni REPEATABLE READ. Lo único que puede relajarse es a READ UNCOMMITTED (y solo tiene efecto en modo shared-cache):

Pedir un nivel que SQLite no soporta lanza una InvalidArgumentException explícita, en vez de generar SQL inválido silenciosamente.

Ejemplos de Uso

Testing (SQLite en memoria)

La configuración de oro para una suite de tests: rápida, aislada y sin dejar rastro en disco.

Aplicación con archivo persistente

Arquitectura

Estructura del Driver

Proceso de Conexión

  1. DSN Generation: getDSN() construye la cadena

    • Archivo: sqlite:/ruta/a/app.sqlite
    • Memoria: sqlite::memory:
  2. PDO Creation: Se crea la instancia PDO con las opciones seguras por defecto (modo de error por excepción, fetch asociativo, prepares nativos).

  3. Post-Connection Config: configure() ejecuta los PRAGMAs
    • PRAGMA foreign_keys (ON por defecto)
    • PRAGMA journal_mode si se configuró
    • PRAGMA busy_timeout si se configuró
    • PRAGMA synchronous si se configuró

Compatibilidad

🐛 Troubleshooting

Las claves foráneas no se respetan

Si esperabas que un INSERT con una FK inválida fallara y no lo hace, revisa que no hayas puesto 'foreign_keys' => false. Recuerda que SQLite las trae apagadas por defecto: este driver las activa, pero solo si no las desactivas explícitamente.

SQLSTATE[HY000]: database is locked

SQLite bloquea el archivo completo durante una escritura. Mitiga con:

unable to open database file

Los datos de :memory: desaparecen entre partes del código

Cada conexión PDO nueva a :memory: es una base distinta. Asegúrate de reutilizar la misma conexión (el ConnectionManager la cachea). No abras un PDO nuevo esperando ver los datos de otro.

Licencia

Este proyecto está licenciado bajo la Licencia MIT - ver el archivo LICENSE para más detalles.

Autor

Marcel Rojas
[email protected]
Mongoose Studio

Contribuciones

Las contribuciones son bienvenidas. Por favor:

  1. Fork el proyecto
  2. Crea una rama para tu feature (git checkout -b feature/amazing-feature)
  3. Commit tus cambios (git commit -m 'Add amazing feature')
  4. Push a la rama (git push origin feature/amazing-feature)
  5. Abre un Pull Request

Phobos Framework by Mongoose Studio


All versions of phobos-framework-database-sqlite with dependencies

PHP Build Version
Package Version
Requires php Version >=8.4
ext-pdo Version *
ext-pdo_sqlite Version *
mongoose-studio/phobos-framework Version ^3.1
mongoose-studio/phobos-framework-database Version ^3.2
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package mongoose-studio/phobos-framework-database-sqlite contains the following files

Loading the files please wait ...