PHPackages                             8fold/php-events - 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. [Parsing &amp; Serialization](/categories/parsing)
4. /
5. 8fold/php-events

ActiveLibrary[Parsing &amp; Serialization](/categories/parsing)

8fold/php-events
================

A library that facilitates tracking and displaying events

0.6.0(3y ago)0165[4 issues](https://github.com/8fold/php-events/issues)[2 PRs](https://github.com/8fold/php-events/pulls)MITPHPPHP ^8.1

Since Oct 7Pushed 3y ago1 watchersCompare

[ Source](https://github.com/8fold/php-events)[ Packagist](https://packagist.org/packages/8fold/php-events)[ GitHub Sponsors](https://github.com/8fold)[ GitHub Sponsors](https://github.com/joshbruce)[ RSS](/packages/8fold-php-events/feed)WikiDiscussions main Synced 1w ago

READMEChangelog (10)Dependencies (9)Versions (26)Used By (0)

8fold Events for PHP
====================

[](#8fold-events-for-php)

Events displays a grid-view that mimics a calendar for years and months.

Events is designed to respond as quickly and directly as possible to a single request.

Install
-------

[](#install)

```
composer require 8fold/php-events
```

Usage
-----

[](#usage)

We have divided 8fold Events between content (Data) and user interface (UI).

This means you can develope your own UI and access the data using the provided flat-file objects to query and retrieve the data; using the `Events` class.

You can also use the grid-based UI via the `Grid` class and provide your own CSS and JavaScript.

Or, you can use the CSS and JavaScript provided in the `dist` folder. The implmentations used to generate both are avaialble in the `sass` and `javascript` folders, respectively.

### Content only

[](#content-only)

```
Events::fold("/path/to/content-root");
```

For optimal performance, start with the `Events` class, which acts as a container for cached instances representing files. These files are [lazy-loaded](https://en.wikipedia.org/wiki/Lazy_loading).

### UI (with content)

[](#ui-with-content)

You can display a month (common) or year view.

The `unfold` method queries and renders the content.

For the month view:

```
Grid::forMonth("/events/{year}/{month}")->unfold();
```

Or, for the year view:

```
Grid::forYear("/events/{year}")->unfold();
```

For the base route or page (`/events`), we recommend you redirect your users to either a month or year view. The `Events` class has convenience methods to find the next or previous month or year with events; alternatively, and the fastest method, would be to redirect the use to the current month for the current year or just the current year.

The month view will provide a link to the next and previous months with events, regardless of year. The year view, will display each month with the number of events during that month; the view will also provide links to the next or previous years with events along.

Content folder structure
------------------------

[](#content-folder-structure)

8fold Events depends on a specific folder structure for the data side. The root folder can be anywhere you want, as long as PHP can reach that folder:

```
.
└── root/
    └── {year}/
        └── {two-digit month}/
            ├── {two-digit day}.event
            └── {two-digit day}_{1-n}.event
```

Production example:

```
.
└── root/
    └── 2020/
        └── 01/
            ├── 01.event
            ├── 02.event
            ├── 02_2.event
            ├── 03_1.event
            └── 03_2.event
```

Each day is represented by one or more `.event` files, which are plain-text, markdown files. For days with more than one event, you can add a suffix to the file name starting with an underscore and the order in which they should appear in the modal popover; having a suffix of `_1` is optional.

###  Health Score

28

—

LowBetter than 54% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity10

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity63

Established project with proven stability

 Bus Factor1

Top contributor holds 97% 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 ~31 days

Recently: every ~70 days

Total

22

Last Release

1395d ago

PHP version history (5 changes)0.0.0PHP &gt;=7.0

0.1.6PHP ^7.0|^8.0

0.2.0PHP ^7.4||^8.0

0.4.0PHP ^8.0

0.5.0PHP ^8.1

### Community

Maintainers

![](https://www.gravatar.com/avatar/3ff7aa36dc04c5b535cd71eadbf66038401edde0c9dfaa688bec4fc16c6d7e8b?d=identicon)[eightfold](/maintainers/eightfold)

---

Top Contributors

[![joshbruce](https://avatars.githubusercontent.com/u/15252830?v=4)](https://github.com/joshbruce "joshbruce (162 commits)")[![dependabot[bot]](https://avatars.githubusercontent.com/in/29110?v=4)](https://github.com/dependabot[bot] "dependabot[bot] (5 commits)")

---

Tags

calendareventsmarkdown

###  Code Quality

TestsPHPUnit

Static AnalysisPHPStan

Code StylePHP\_CodeSniffer

Type Coverage Yes

### Embed Badge

![Health badge](/badges/8fold-php-events/health.svg)

```
[![Health](https://phpackages.com/badges/8fold-php-events/health.svg)](https://phpackages.com/packages/8fold-php-events)
```

###  Alternatives

[shopware/platform

The Shopware e-commerce core

3.3k1.5M3](/packages/shopware-platform)[sulu/sulu

Core framework that implements the functionality of the Sulu content management system

1.3k1.3M152](/packages/sulu-sulu)[prestashop/prestashop

PrestaShop is an Open Source e-commerce platform, committed to providing the best shopping cart experience for both merchants and customers.

9.0k15.4k](/packages/prestashop-prestashop)[aimeos/aimeos-typo3

Professional, full-featured and high performance TYPO3 e-commerce extension for online shops and complex B2B projects

1.5k91.2k4](/packages/aimeos-aimeos-typo3)[shopware/core

Shopware platform is the core for all Shopware ecommerce products.

595.2M386](/packages/shopware-core)[doctrine/rst-parser

PHP library to parse reStructuredText documents and generate HTML or LaTeX documents.

64233.6k9](/packages/doctrine-rst-parser)

PHPackages © 2026

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