vlw/globalsnapshot

Capture and restore the state of all PHP superglobals.

1.0.3 2024-11-23 09:23 UTC

This package is auto-updated.

Last update: 2024-12-23 09:35:31 UTC


README

Capture the current state of all PHP superglobal variables - which can then be restored to the state of capture at a later time.

Supports PHP 8.1+

Example use:

// Initial state
$_ENV["hello"] = "world"; // echo: "world"

// Capture initial state
$snapshot = (new GlobalSnapshot())->capture();

// Manipulate superglobals
$_ENV["hello"] .= " and mom!"; // echo: "world and mom"

// Restore initial state
$snapshot->restore();

// Initial state restored
echo $_ENV["hello"]; // echo: "world"

Quickstart

  1. Install with composer

    composer install vlw/globalsnapshot
    
  2. use in your project

    use vlw\GlobalSnapshot;
    
  3. Capture current superglobals with capture()

    // Initialize a new GlobalSnapshot instance to store current values (one snapshot per instance)
    $snapshot = new GlobalSnapshot();
    

// Capture current superglobal state $snapshot->capture();


3. Restore superglobals with `restore()`

// ... some other code

// Restore superglobals to state of capture() $snapshot->restore();