
The eluceo/iCal package offers a abstraction layer for creating iCalendars. You can easily create iCal files by using PHP object instead of typing your *.ics file by hand. The output will follow RFC 5545 as best as possible. The following components are supported at this time:
* VCALENDAR * VEVENT * VALARM * VTIMEZONE