ucscode/local-storage

A PHP library for local data storage with optional encryption.

2.0.2 2024-07-30 22:43 UTC

This package is auto-updated.

Last update: 2024-10-23 23:32:17 UTC


README

The Local Storage Library is a simple PHP library that provides a convenient way to store and retrieve data with optional encryption. It is designed to work similarly to stdClass but with the added functionality of saving and loading data to and from a file.

Installation

You can install the Local Storage Library using Composer. Run the following command:

composer require ucscode/local-storage

Installation without Composer

If you prefer not to use Composer, you can manually include the Local Storage Library in your project by following these steps:

  1. Clone the Github repository and extract the zipped content into your project directory.

  2. In your PHP code, include the LocalStorage.php file:

require_once 'path/to/src/LocalStorage.php';

Encryption

By default, the library uses gzdeflate and gzinflate for basic data compression. However, you can enhance security with OpenSSL encryption by simply providing a security key during instantiation.

Usage

If the instantiation file already contains LocalStorage data, the LocalStorage instance will be automatically populated with that data.

use Ucscode\LocalStorage\LocalStorage;

$filepath = 'path/to/storage/file.txt';

$localStorage = new LocalStorage($filepath);

Optionally, a secret key can be added during instantiation to enhance security.

$optionalSecretKey = "my_secret_key";

$localStorage = new LocalStorage($filepath, $optionalSecretKey);

Creating & Accessing

$localstorage->author = "Ucscode";
$localStorage->data = [];
$localStorage->data['foundation'] = "User Synthetics";
$localStorage->data['description'] = "Save encrypted contents into local file instead of database";

$localStorage->data['foundation']; // User Synthetics

Saving Data

The data within LocalStorage will not be automatically saved unless the save method is explicitly called.

$localStorage->save();

Retrieving All Data

To retrieve an array of all data available in local storage, utilize the getContext method.

$localStorage->getContext(); // [author => Ucscode, data => [...]]

Contributing & Feedback

If you encounter any issues, have suggestions, or want to contribute to the Local Storage Library, please open an issue on the GitHub repository.

License

This Local Storage Library is open-source software licensed under the MIT license.