PHPackages                             spiral/snapshotter - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [PDF &amp; Document Generation](/categories/documents)
4. /
5. spiral/snapshotter

AbandonedArchivedLibrary[PDF &amp; Document Generation](/categories/documents)

spiral/snapshotter
==================

Snapshot component with ability to view, delete and aggregate snapshots.

v2.0.5(6y ago)12.5kMITPHPPHP &gt;=7.0

Since Feb 15Pushed 6y ago2 watchersCompare

[ Source](https://github.com/spiral-modules/snapshotter)[ Packagist](https://packagist.org/packages/spiral/snapshotter)[ RSS](/packages/spiral-snapshotter/feed)WikiDiscussions master Synced 4w ago

READMEChangelog (10)Dependencies (8)Versions (27)Used By (0)

Snapshotter
===========

[](#snapshotter)

Snapshots management module. Can store snapshot in database or in files, allows to view and easily manipulate them via vault panel.

[![Latest Stable Version](https://camo.githubusercontent.com/e389f487381140118d00f90daf4f8da5c66ffc8e0d4f986abbc503d088a1c787/68747470733a2f2f706f7365722e707567782e6f72672f73706972616c2f736e617073686f747465722f762f737461626c65)](https://packagist.org/packages/spiral/snapshotter)[![Total Downloads](https://camo.githubusercontent.com/fa43ea51c218b1c3995440de76c4c555d15d97fcd1d8679541da45ab599a8581/68747470733a2f2f706f7365722e707567782e6f72672f73706972616c2f736e617073686f747465722f646f776e6c6f616473)](https://packagist.org/packages/spiral/snapshotter)[![Scrutinizer Code Quality](https://camo.githubusercontent.com/ebb2443ecfade0228f5b241ff08d413f591fcd8fbd7e4d5a393a02ad4a9101f8/68747470733a2f2f7363727574696e697a65722d63692e636f6d2f672f73706972616c2d6d6f64756c65732f736e617073686f747465722f6261646765732f7175616c6974792d73636f72652e706e67)](https://scrutinizer-ci.com/g/spiral-modules/snapshotter/)[![Coverage Status](https://camo.githubusercontent.com/4e4073c8a9dd371e2ababe6e43ee73eb38880cdadad650170bc0b1d6c58f4720/68747470733a2f2f636f766572616c6c732e696f2f7265706f732f6769746875622f73706972616c2d6d6f64756c65732f736e617073686f747465722f62616467652e737667)](https://coveralls.io/github/spiral-modules/snapshotter)[![Build Status](https://camo.githubusercontent.com/6c29c3be05208e3f0a5a3d0a9f0f67d08433b3161537cdf887b26d0b2535c24b/68747470733a2f2f7472617669732d63692e6f72672f73706972616c2d6d6f64756c65732f736e617073686f747465722e7376673f6272616e63683d6d6173746572)](https://travis-ci.org/spiral-modules/snapshotter)

Installation
------------

[](#installation)

```
composer require spiral/snapshotter
spiral register spiral/snapshotter

```

### Include snapshots controller link into navigation menu like below (optional):

[](#include-snapshots-controller-link-into-navigation-menu-like-below-optional)

```
'snapshots' => [
    'title' => 'Snapshots',
    'requires' => 'vault.snapshots'
],
```

### Include `SnapshotterBootloader`

[](#include-snapshotterbootloader)

```
$this->getBootloader()->bootload([
    \Spiral\Snapshotter\Bootloaders\SnapshotterBootloader::class
]);
```

### Select one of provided handlers

[](#select-one-of-provided-handlers)

Currently there are two supported handlers: `FileHandler` and `AggregationHandler`, choose onf of them and bind it:

```
$this->getBootloader()->bootload([
    \Spiral\Snapshotter\Bootloaders\FileHandlerBootloader::class
]);
//OR:
$this->getBootloader()->bootload([
    \Spiral\Snapshotter\Bootloaders\AggregationHandlerBootloader::class
]);
```

Then you can remove standard `SnapshotInterface` binding (if included):

```
//$this->container->bind(SnapshotInterface::class, Snapshotter\Debug\AggregatedSnapshot::class);
```

File Handler
------------

[](#file-handler)

File handler stores snapshot files in runtime directory.

Aggregation Handler
-------------------

[](#aggregation-handler)

Aggregation handler stores snapshots in database. Exception body is gzencoded

### Suppression

[](#suppression)

Aggregation handler aggregates similar snapshot incidents groping them by snapshot teaser message, it allows you to easily manage snapshots if some of them occurred more than once. Aggregation handler supports suppression feature: it allows you to save space because new snapshot incidents will be stored with empty exception source. You will see all incidents, no reason to store all sources if you can find it in the last incident. If you want to store sources - just disable suppression.

> After suppression is enabled, only new incidents will be involved, old ones will be kept untouched. Same for disabled suppression.

### Define database connection.

[](#define-database-connection)

Aggregation handler uses database, by default it is set as an alias to the `default` database

---

\#TODO-list

1. Add charts/widgets
2. Add listing dependency

###  Health Score

32

—

LowBetter than 69% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity17

Limited adoption so far

Community10

Small or concentrated contributor base

Maturity68

Established project with proven stability

 Bus Factor1

Top contributor holds 91.2% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~55 days

Recently: every ~182 days

Total

25

Last Release

2463d ago

Major Versions

0.0.12 → v1.0.02017-03-02

v1.1.7 → 2.0.02017-10-04

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/796136?v=4)[Anton Tsitou](/maintainers/wolfy-j)[@wolfy-j](https://github.com/wolfy-j)

---

Top Contributors

[![vvval](https://avatars.githubusercontent.com/u/11367763?v=4)](https://github.com/vvval "vvval (52 commits)")[![wolfy-j](https://avatars.githubusercontent.com/u/796136?v=4)](https://github.com/wolfy-j "wolfy-j (5 commits)")

---

Tags

excelspiralvault

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/spiral-snapshotter/health.svg)

```
[![Health](https://phpackages.com/badges/spiral-snapshotter/health.svg)](https://phpackages.com/packages/spiral-snapshotter)
```

###  Alternatives

[statamic/cms

The Statamic CMS Core Package

4.8k3.5M925](/packages/statamic-cms)[imdhemy/google-play-billing

Google Play Billing

491.4M5](/packages/imdhemy-google-play-billing)[bitrix24/b24phpsdk

An official PHP library for the Bitrix24 REST API

10239.4k5](/packages/bitrix24-b24phpsdk)[pimcore/studio-backend-bundle

Pimcore Studio Backend Bundle

20171.5k14](/packages/pimcore-studio-backend-bundle)[japanese-date/japanese-date

日本の暦、祝日を取り扱うライブラリ

169.9k](/packages/japanese-date-japanese-date)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
