phpolar/mysql-storage

Adds support for MySQL storage in your application.

Installs: 5

Dependents: 0

Suggesters: 0

Security: 0

Stars: 0

Watchers: 0

Forks: 0

Open Issues: 2

pkg:composer/phpolar/mysql-storage

0.1.2 2025-12-05 00:26 UTC

README

Adds support for MySQL storage in your application.

Application Logo

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

Website

Quick start

composer require phpolar/mysql-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

$mysqlStorage = new MySqlStorage(
    connection: $connection,
    tableName: "table_name",
    typeClassName: Person::class,
);

$mysqlStorage->save($item1->id, $item);
$mysqlStorage->replace($updatedItem->id, $updatedItem);
$mysqlStorage->remove($item2->id);

$item3 = $mysqlStorage->find("id3")
    ->orElse(static fn() => new NotFound())
    ->tryUnwrap();

$allItems = $mysqlStorage->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/mysql-storage 900 B 110 kB x
  • Note: Does not include comments.