Skip to content

phpolar/sqlite-storage

Repository files navigation

PHPolar Sqlite Storage

Adds support for SQLite3 storage in your application.

PHPolar logo

Coverage Status Badge Latest Stable Version Total Downloads License PHP Version Require Weekly Check

Website

Quick start

# create an example application

composer require phpolar/sqlite-storage

Objectives

  1. Keep project small. See thresholds
  2. 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.

About

Adds support for SQLite3 storage in your application.

Resources

License

Security policy

Stars

Watchers

Forks

Packages

No packages published

Languages