A PHP library for parsing and manipulating iCalendar and vCard objects with a complete, easy-to-use API.
sabre/vobject is a PHP library that enables developers to parse, generate, and manipulate iCalendar and vCard objects. It solves the problem of handling standardized calendar and contact data formats in PHP applications, providing tools for reading, writing, validating, and modifying .ics and .vcf files with full RFC compliance.
PHP developers building applications that need to process calendar events (like scheduling systems) or contact information (like CRM or address book tools), particularly those requiring interoperability with other calendar/contact services.
Developers choose sabre/vobject because it offers a comprehensive, easy-to-use API for a complex domain, with strong adherence to RFC standards, active maintenance, and integration with the broader SabreDAV ecosystem for full CalDAV/CardDAV server capabilities.
:date: The VObject library for PHP allows you to easily parse and manipulate iCalendar and vCard objects
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Supports iCalendar (RFC 5545) and vCard (RFC 6350) standards, ensuring interoperability across systems as per the library's goal.
Provides simplified methods for reading and writing calendar/contact objects, reducing the need for deep protocol knowledge, as highlighted in features.
Includes advanced capabilities like recurrence rule expansion and timezone handling, covering most needs for calendar and contact manipulation.
Offers tools to validate objects against specs and fix common issues, essential for dealing with malformed data from external sources.
Requires PHP 5.5 or higher, with separate versions for older PHP 5.3/5.4, complicating deployment in fixed-version environments.
Documentation is split into separate pages for vCard and iCalendar usage, making it harder to navigate for comprehensive guides.
For large datasets, the library's comprehensive nature can introduce overhead, as it's not optimized for high-throughput scenarios.
Tightly integrated with SabreDAV, which may add unnecessary complexity for projects not needing CalDAV/CardDAV features.