PHPackages                             thorazine/ics - 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. thorazine/ics

ActiveLibrary

thorazine/ics
=============

An ical file maker

1.0.0(8y ago)012MITPHP

Since Jul 21Pushed 1y agoCompare

[ Source](https://github.com/Thorazine/Ics)[ Packagist](https://packagist.org/packages/thorazine/ics)[ RSS](/packages/thorazine-ics/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (1)DependenciesVersions (2)Used By (0)

iCal creator for Laravel
========================

[](#ical-creator-for-laravel)

It's a simple little thing, but it keeps comming back so I made a package for it. This package contains a single class which generates an iCal (.ics) file for your agenda to import.

Functionality
-------------

[](#functionality)

- Create stream or get the content
- Alarm functionality
- Visibility for Microsoft and others combined in `availiblilty`
- Title, summary and description are all custom but fallback on title.
- Start date/end data gets the timezone from Laravel config, but can be overwritten if needed.
- Set an alarm

Streaming
---------

[](#streaming)

```
use Thorazine\Ics\Ics;

$ical = new Ics([
	'title' => 'Test Ics',
	'startDate' => '2017-07-21 12:00:00',
	'endDate' => '2017-07-21 14:00:00',
]);

$ical->stream();
```

Save to file
------------

[](#save-to-file)

```
use Thorazine\Ics\Ics;

$ical = new Ics([
	'title' => 'Test Ics',
	'startDate' => '2017-07-21 12:00:00',
	'endDate' => '2017-07-21 14:00:00',
]);

file_put_contents('some-filename.ics', $ical->get());
```

Options
-------

[](#options)

Options are inserted in the array when creating a new Ics class

keyMandatoryTypePossible valuestitletruestringAnystartDatetruetimestampAny timestamp as excepted by strtotime()endDatetruetimestampAny timestamp as excepted by strtotime()summaryfalsestringAnydescriptionfalsestring/n for new linelocationfalsestringAnytimezonefalsetimezoneAny timezone known to PHPalarmfalsestring\[integer\]\[D or H or M\] (M = minute, H = hour, D = Day)availibilityfalsebooleantrue = opaque and out of office, false = transparant and free

###  Health Score

30

—

LowBetter than 65% of packages

Maintenance36

Infrequent updates — may be unmaintained

Popularity5

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity63

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

Unknown

Total

1

Last Release

3214d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/530648da75b2b5d21c320856ebf7a1c4c134cc8088d16bf55d13cddc9f62a00b?d=identicon)[Thorazine](/maintainers/Thorazine)

---

Top Contributors

[![Thorazine](https://avatars.githubusercontent.com/u/2406201?v=4)](https://github.com/Thorazine "Thorazine (1 commits)")

### Embed Badge

![Health badge](/badges/thorazine-ics/health.svg)

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

PHPackages © 2026

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