PHPackages                             activecollab/etag - 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. [Utility &amp; Helpers](/categories/utility)
4. /
5. activecollab/etag

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

activecollab/etag
=================

Tag objects and collections using etag

2.0.0(2y ago)017.1k2MITPHPPHP &gt;=8.2

Since Nov 9Pushed 2y ago1 watchersCompare

[ Source](https://github.com/activecollab/etag)[ Packagist](https://packagist.org/packages/activecollab/etag)[ Docs](https://labs.activecollab.com)[ RSS](/packages/activecollab-etag/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (3)Dependencies (1)Versions (4)Used By (2)

Etag Interface
==============

[](#etag-interface)

[![Build Status](https://camo.githubusercontent.com/437a1555373346634d0aa2f4b75bb140286c49346bf3572ba2f9364feca59184/68747470733a2f2f7472617669732d63692e6f72672f616374697665636f6c6c61622f657461672e7376673f6272616e63683d6d6173746572)](https://travis-ci.org/activecollab/etag)

Tag objects and collections using etag, and validate cached values. This package contains only the interface, so actual implementation needs to be implemented in libraries that use it.

`ActiveCollab\Etag\EtagInterface` Interface says it all:

```
/**
 * @package ActiveCollab\Etag
 */
interface EtagInterface
{
    /**
     * Return true if this state of this object can be tagged and cached on client side.
     *
     * @return boolean
     */
    public function canBeEtagged();

    /**
     * Return etag.
     *
     * $visitor_identifier is a way that we identify a particular visitor (different people can use the same browsers
     * under the same profile, and share the cache, so we need to address that).
     *
     * @param  string  $visitor_identifier
     * @param  boolean $use_cache
     * @return string
     */
    public function getEtag($visitor_identifier, $use_cache = true);

    /**
     * Check if provided etag value matches the current object state.
     *
     * $visitor_identifier is a way that we identify a particular visitor (different people can use the same browsers
     * under the same profile, and share the cache, so we need to address that).
     *
     * @param  string  $value
     * @param  string  $visitor_identifier
     * @param  boolean $use_cache
     * @return boolean
     */
    public function verifyEtag($value, $visitor_identifier, $use_cache = true);
}
```

###  Health Score

37

—

LowBetter than 83% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity24

Limited adoption so far

Community11

Small or concentrated contributor base

Maturity78

Established project with proven stability

 Bus Factor1

Top contributor holds 100% 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 ~1521 days

Total

3

Last Release

801d ago

Major Versions

1.0.1 → 2.0.02024-03-09

PHP version history (2 changes)1.0.0PHP &gt;=5.6.0

2.0.0PHP &gt;=8.2

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/729914?v=4)[Ilija Studen](/maintainers/ilijastuden)[@ilijastuden](https://github.com/ilijastuden)

---

Top Contributors

[![ilijastuden](https://avatars.githubusercontent.com/u/729914?v=4)](https://github.com/ilijastuden "ilijastuden (11 commits)")

---

Tags

Etagactivecollab

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/activecollab-etag/health.svg)

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

###  Alternatives

[arnolem/tailwindphp

TailwindPHP - use Tailwind CSS in your PHP projects (without npm)

131.1k](/packages/arnolem-tailwindphp)

PHPackages © 2026

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