|
3 | 3 | Async SQLite database, lightweight non-blocking process wrapper around file-based database extension (`ext-sqlite3`),
|
4 | 4 | built on top of [ReactPHP](https://reactphp.org/).
|
5 | 5 |
|
| 6 | +[SQLite](https://www.sqlite.org/) is a widespread and efficient in-process database. |
| 7 | +It offers a common SQL interface to process queries to work with its relational data |
| 8 | +in memory or persist to a simple, portable database file. |
| 9 | +Its lightweight design makes it an ideal candidate for an embedded database in |
| 10 | +portable (CLI) applications, test environments and much more. |
| 11 | +This library provides you a simple API to work with your SQLite database from within PHP. |
| 12 | +Because working with SQLite and the underlying filesystem is inherently blocking, |
| 13 | +this project is built as a lightweight non-blocking process wrapper around it, |
| 14 | +so you can query your data without blocking your main application. |
| 15 | + |
| 16 | +* **Async execution of queries** - |
| 17 | + Send any number of queries (SQL) to SQLite in parallel (automatic queue) and |
| 18 | + process their responses as soon as results come in. |
| 19 | + The Promise-based design provides a *sane* interface to working with async results. |
| 20 | +* **Lightweight, SOLID design** - |
| 21 | + Provides a thin abstraction that is [*just good enough*](https://en.wikipedia.org/wiki/Principle_of_good_enough) |
| 22 | + and does not get in your way. |
| 23 | + Future or custom commands and events require no changes to be supported. |
| 24 | +* **Good test coverage** - |
| 25 | + Comes with an automated tests suite and is regularly tested against actual SQLite databases in the wild. |
| 26 | + |
6 | 27 | **Table of contents**
|
7 | 28 |
|
8 | 29 | * [Quickstart example](#quickstart-example)
|
9 | 30 | * [Usage](#usage)
|
10 |
| - * [Factory](#factory) |
11 |
| - * [open()](#open) |
12 |
| - * [openLazy()](#openlazy) |
13 |
| - * [DatabaseInterface](#databaseinterface) |
14 |
| - * [exec()](#exec) |
15 |
| - * [query()](#query) |
16 |
| - * [quit()](#quit) |
17 |
| - * [close()](#close) |
18 |
| - * [Events](#events) |
19 |
| - * [error event](#error-event) |
20 |
| - * [close event](#close-event) |
| 31 | + * [Factory](#factory) |
| 32 | + * [open()](#open) |
| 33 | + * [openLazy()](#openlazy) |
| 34 | + * [DatabaseInterface](#databaseinterface) |
| 35 | + * [exec()](#exec) |
| 36 | + * [query()](#query) |
| 37 | + * [quit()](#quit) |
| 38 | + * [close()](#close) |
| 39 | + * [Events](#events) |
| 40 | + * [error event](#error-event) |
| 41 | + * [close event](#close-event) |
21 | 42 | * [Install](#install)
|
22 | 43 | * [Tests](#tests)
|
23 | 44 | * [License](#license)
|
@@ -367,12 +388,15 @@ See also the [`close()`](#close) method.
|
367 | 388 | The recommended way to install this library is [through Composer](https://getcomposer.org).
|
368 | 389 | [New to Composer?](https://getcomposer.org/doc/00-intro.md)
|
369 | 390 |
|
| 391 | +This project follows [SemVer](https://semver.org/). |
370 | 392 | This will install the latest supported version:
|
371 | 393 |
|
372 | 394 | ```bash
|
373 |
| -$ composer require clue/reactphp-sqlite:dev-master |
| 395 | +$ composer require clue/reactphp-sqlite:^1.0 |
374 | 396 | ```
|
375 | 397 |
|
| 398 | +See also the [CHANGELOG](CHANGELOG.md) for details about version upgrades. |
| 399 | + |
376 | 400 | This project aims to run on any platform and thus only requires `ext-sqlite3` and
|
377 | 401 | supports running on legacy PHP 5.4 through current PHP 7+.
|
378 | 402 | It's *highly recommended to use PHP 7+* for this project.
|
|
0 commit comments