Download the PHP package andydefer/storage-kit without Composer

On this page you can find all versions of the php package andydefer/storage-kit. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package storage-kit

Storage Kit - Documentation complète

PHP Version

📖 Table des matières

  1. Introduction
  2. Installation
  3. Concepts fondamentaux
  4. Les adaptateurs de stockage
    • MemoryStorage - Stockage en mémoire
    • JsonlStorage - Stockage JSONL
    • CacheStorage - Stockage avec cache
    • SessionStorage - Stockage en session
    • CookieStorage - Stockage en cookies
    • SqliteStorage - Stockage SQLite
  5. La factory
  6. Cas d'usage réels
    • Cache de sessions utilisateur
    • Persistance d'état d'application
    • Cache multi-niveaux
    • Migration de données
    • Cache de résultats d'API
    • Base de données embarquée
  7. Performance
  8. Intégration
    • Avec Laravel
    • Avec AlgoKIT
  9. Exemples complets
  10. API Reference

Introduction

StorageKit est une bibliothèque PHP qui fournit des adaptateurs de stockage unifiés pour différents types de persistance. Elle propose une interface commune (StorageInterface) pour le stockage et la récupération de données, avec six implémentations :

Adaptateur Description Cas d'usage
MemoryStorage Stockage en mémoire (RAM) Tests, développement, données éphémères
JsonlStorage Stockage persistant JSONL Données persistantes, logs structurés
CacheStorage Stockage avec cache (PhpFastCache) Haute performance, TTL, multi-backends
SessionStorage Stockage en session PHP Données utilisateur, authentification
CookieStorage Stockage en cookies navigateur Préférences, données légères côté client
SqliteStorage Stockage SQLite ACID Base de données embarquée, persistance fiable

Pourquoi StorageKit ?


Installation

Prérequis


Concepts fondamentaux

StorageInterface

Tous les storages implémentent la même interface :

SqliteStorageInterface (étendue)

SqliteStorage ajoute des méthodes spécifiques aux bases de données :


Les adaptateurs de stockage

MemoryStorage - Stockage en mémoire

Description : Stocke les données dans un tableau PHP en mémoire RAM.

Caractéristiques :

Utilisation :

Cas d'usage :


JsonlStorage - Stockage JSONL

Description : Stocke les données sur disque au format JSON Lines.

Caractéristiques :

Structure des fichiers :

Utilisation :

Format du fichier JSONL :

Cas d'usage :


CacheStorage - Stockage avec cache

Description : Stockage utilisant PhpFastCache avec support de multiples backends.

Caractéristiques :

Drivers supportés :

Driver Description Cas d'usage
Files Stockage sur disque Développement, petite structure
Sqlite Base de données SQLite Performance, grande structure

Utilisation avec Files :

Utilisation avec SQLite :

Cas d'usage :


SessionStorage - Stockage en session

Description : Stocke les données dans la session PHP ($_SESSION). Les données persistent pendant toute la session utilisateur.

Caractéristiques :

Prérequis :

Utilisation :

Cas d'usage :


CookieStorage - Stockage en cookies

Description : Stocke les données dans les cookies du navigateur. Les données persistent sur le poste du client.

Caractéristiques :

Utilisation :

Cas d'usage :


SqliteStorage - Stockage SQLite

Description : Stockage persistant utilisant SQLite comme base de données embarquée avec support ACID.

Caractéristiques :

Utilisation :

Cas d'usage :


La factory

StorageFactory simplifie la création des storages en centralisant la configuration.

Utilisation basique :

Configuration dynamique :

Création avancée :


Cas d'usage réels

Cache de sessions utilisateur

Persistance d'état d'application avec SQLite

Cache multi-niveaux

Base de données embarquée avec SQLite


Performance

Comparatif des storages

Storage Vitesse Persistance TTL Transactions Mémoire Cas d'usage
MemoryStorage ⚡⚡⚡ ❌ ❌ ❌ 💾 Tests, éphémère
SessionStorage ⚡⚡ ✅ ❌ ❌ 💾 Données utilisateur
CookieStorage ⚡⚡ ✅ ✅ ❌ 💾 Préférences client
CacheStorage ⚡⚡ ✅ ✅ ❌ 💾 Cache haute perf
JsonlStorage 🐌 ✅ ✅ ❌ 💾💾 Persistance
SqliteStorage ⚡ ✅ ❌ ✅ 💾 Base de données ACID

Limitations

Storage Limitation
CookieStorage ~4KB par cookie, ~50-150 cookies par domaine
SessionStorage Dépend de la configuration PHP (session.gc_maxlifetime)
JsonlStorage I/O disque, lent pour de nombreuses écritures
SqliteStorage 1 écriture simultanée, pas adapté aux gros volumes

Optimisations

1. Utilisez MemoryStorage pour les données temporaires

2. Utilisez CacheStorage pour les données fréquentes

3. Utilisez SqliteStorage pour les données structurées

4. Batch operations pour de nombreux éléments

5. Transactions SQLite pour l'intégrité des données

6. VACUUM périodique pour SQLite


Intégration

Avec Laravel

1. Configuration

2. Service Provider

3. Utilisation dans un Controller

Avec AlgoKIT


Exemples complets

Système de cache complet avec tous les storages

Application de monitoring avec SQLite


API Reference

Interfaces

Interface Description
StorageInterface Interface de base pour tous les storages
CacheStorageInterface Interface étendue pour CacheStorage
JsonlStorageInterface Interface étendue pour JsonlStorage
SessionStorageInterface Interface étendue pour SessionStorage
CookieStorageInterface Interface étendue pour CookieStorage
SqliteStorageInterface Interface étendue pour SqliteStorage

Classes

Classe Description
MemoryStorage Stockage en mémoire
JsonlStorage Stockage JSONL
CacheStorage Stockage avec cache
SessionStorage Stockage en session
CookieStorage Stockage en cookies
SqliteStorage Stockage SQLite
StorageFactory Factory de storages

Enums

Enum Description
StorageSystem Systèmes de stockage disponibles
CacheDriver Drivers de cache disponibles

Records

Record Description
CacheConfigRecord Configuration de CacheStorage
CacheStorageStatsRecord Statistiques de CacheStorage
JsonlStorageStatsRecord Statistiques de JsonlStorage
SqliteStorageStatsRecord Statistiques de SqliteStorage
JsonlStorageRecord Record pour JSONL

License

MIT © Andy Defer


All versions of storage-kit with dependencies

PHP Build Version
Package Version
Requires php Version >=8.1
phpfastcache/phpfastcache Version ^9.2
andydefer/php-jsonl Version ^0.11.27
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package andydefer/storage-kit contains the following files

Loading the files please wait ...