phpolar / sqlite-storage
Adds support for storing data in SQLite databases.
Installs: 36
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 0
Forks: 0
Open Issues: 0
pkg:composer/phpolar/sqlite-storage
Requires
- php: >=8.4
- ext-sqlite3: *
- phpolar/storage: ^7.0
Requires (Dev)
- ext-ast: *
- ext-openssl: *
- phan/phan: ^5.4
- php-coveralls/php-coveralls: ^2.5
- phpmd/phpmd: ^2.13
- phpstan/phpstan: ^2.0.3
- phpunit/phpunit: ^12
- squizlabs/php_codesniffer: ^4
README
Adds support for SQLite3 storage in your application.
Quick start
# create an example application
composer require phpolar/sqlite-storage
Objectives
- Keep project small. See thresholds
- Automatically load and persist data
Note For more details see the acceptance tests results
Example 1
$sqliteStorage = new SqliteStorage( connection: $connection, tableName: "table_name", typeClassName: Person::class, ); $sqliteStorage->save($item1->id, $item); $sqliteStorage->replace($updatedItem->id, $updatedItem); $sqliteStorage->remove($item2->id); $item3 = $sqliteStorage->find("id3") ->orElse(static fn() => new NotFound()) ->tryUnwrap(); $allItems = $sqliteStorage->findAll();
Example Class for Items in Storage
use Phpolar\Phpolar\AbstractModel; class Person extends AbstractModel { #[PrimaryKey] #[Hidden] public string $id; public string $firstName; public string $lastName; public string $address1; public string $address2; public function getPrimaryKey(): string { return $id; } }
Thresholds
| Module | Source Code Size * | Memory Usage | Required |
|---|---|---|---|
| phpolar/sqlite-storage | 9 kB | 150 kB | x |
- Note: Does not include comments.