From 390cdb4adc6e722d82c65a63cdc3d5963baecf11 Mon Sep 17 00:00:00 2001 From: Victor Westerlund Date: Thu, 18 Apr 2024 11:41:42 +0000 Subject: [PATCH] feat(doc): add README --- README.md | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..c3d123f --- /dev/null +++ b/README.md @@ -0,0 +1,50 @@ +# php-globalsnapshot + +Capture the current state of all [PHP superglobal variables](https://www.php.net/manual/en/language.variables.superglobals.php); which can then be restored to that state at a later time. + +Example use: +```php +// 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 victorwesterlund/globalsnapshot +``` + +2. `use` in your project +```php +use victorwesterlund\GlobalSnapshot; +``` + +3. Capture current superglobals with `capture()` +```php +// 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()` +```php +// ... some other code + +// Restore superglobals to state of `capture()` +$snapshot->restore(); +```