PHPackages                             sebastian-alfers/ical - 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. sebastian-alfers/ical

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

sebastian-alfers/ical
=====================

This package offers PHP-classes to create iCal compatible \*.ics files.

06681PHP

Since Sep 28Pushed 13y ago1 watchersCompare

[ Source](https://github.com/sebastian-alfers/iCal)[ Packagist](https://packagist.org/packages/sebastian-alfers/ical)[ RSS](/packages/sebastian-alfers-ical/feed)WikiDiscussions master Synced yesterday

READMEChangelogDependenciesVersions (1)Used By (0)

eluceo — iCal
=============

[](#eluceo--ical)

This package offers PHP-classes to create iCal compatible \*.ics files.

Usage
-----

[](#usage)

### 1. Create a Calendar object

[](#1-create-a-calendar-object)

```
$vCalendar = new \Eluceo\iCal\Component\Calendar('www.example.com');
```

### 2. Create an Event object

[](#2-create-an-event-object)

```
$vEvent = new \Eluceo\iCal\Component\Event();
```

### 3. Add your information to the Event

[](#3-add-your-information-to-the-event)

```
$vEvent->setDtStart(new \DateTime('2012-12-24'));
$vEvent->setDtEnd(new \DateTime('2012-12-24'));
$vEvent->setNoTime(true);
$vEvent->setSummary('Christmas');
```

### 4. Add Event to Calendar

[](#4-add-event-to-calendar)

```
$vCalendar->addEvent($vEvent);
```

### 5. Set HTTP-headers

[](#5-set-http-headers)

```
header('Content-Type: text/calendar; charset=utf-8');
header('Content-Disposition: attachment; filename="cal.ics"');
```

### 6. Send output

[](#6-send-output)

```
echo $vCalendar->render();
```

###  Health Score

23

—

LowBetter than 27% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity14

Limited adoption so far

Community10

Small or concentrated contributor base

Maturity41

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 87.5% 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.

### Community

Maintainers

![](https://www.gravatar.com/avatar/8d7d711ced6902639004b8894b75ec1f461e8697d789b930ec739cd0c2df33e2?d=identicon)[sebalf](/maintainers/sebalf)

---

Top Contributors

[![markuspoerschke](https://avatars.githubusercontent.com/u/1222377?v=4)](https://github.com/markuspoerschke "markuspoerschke (14 commits)")[![sebastian-alfers](https://avatars.githubusercontent.com/u/546816?v=4)](https://github.com/sebastian-alfers "sebastian-alfers (2 commits)")

### Embed Badge

![Health badge](/badges/sebastian-alfers-ical/health.svg)

```
[![Health](https://phpackages.com/badges/sebastian-alfers-ical/health.svg)](https://phpackages.com/packages/sebastian-alfers-ical)
```

###  Alternatives

[components/jqueryui

jQuery UI is a curated set of user interface interactions, effects, widgets, and themes built on top of the jQuery JavaScript Library. Whether you're building highly interactive web applications or you just need to add a date picker to a form control, jQuery UI is the perfect choice.

1795.8M57](/packages/components-jqueryui)[clue/graph-composer

Dependency graph visualization for composer.json

93798.0k11](/packages/clue-graph-composer)

PHPackages © 2026

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