enko/ics

创建多字节安全的RFC 5545兼容.ics文件的抽象层

0.2.3 2016-01-12 15:47 UTC

This package is not auto-updated.

Last update: 2024-09-24 03:00:11 UTC


README

Build status

ICS

用于创建(最终可能读取).ics iCal文件的面向对象PHP库。

  • 此项目尚不支持所有.ics格式的功能。

用法

use Jsvrcek\ICS\Model\Calendar;
use Jsvrcek\ICS\Model\CalendarEvent;
use Jsvrcek\ICS\Model\Relationship\Attendee;
use Jsvrcek\ICS\Model\Relationship\Organizer;

use Jsvrcek\ICS\Utility\Formatter;
use Jsvrcek\ICS\CalendarStream;
use Jsvrcek\ICS\CalendarExport;

//setup an event
$eventOne = new CalendarEvent();
$eventOne->setStart(new \DateTime())
	->setSummary('Family reunion')
	->setUid('event-uid');
	
//add an Attendee
$attendee = new Attendee(new Formatter());
$attendee->setValue('moe@example.com')
	->setName('Moe Smith');
$eventOne->addAttendee($attendee);

//set the Organizer
$organizer = new Organizer(new Formatter());
$organizer->setValue('heidi@example.com')
	->setName('Heidi Merkell')
	->setLanguage('de');
$eventOne->setOrganizer($organizer);

//new event
$eventTwo = new CalendarEvent();
$eventTwo->setStart(new \DateTime())
	->setSummary('Dentist Appointment')
	->setUid('event-uid');

//setup calendar
$calendar = new Calendar();
$calendar->setProdId('-//My Company//Cool Calendar App//EN')
	->addEvent($eventOne)
	->addEvent($eventTwo);

//setup exporter
$calendarExport = new CalendarExport(new CalendarStream, new Formatter());
$calendarExport->addCalendar($calendar);

//output .ics formatted text
echo $calendarExport->getStream();

待办事项

  • Jsvrcek\ICS\Model\CalendarAlarm
  • Jsvrcek\ICS\Model\CalendarTodo

参考

许可

MIT许可证(MIT)

版权所有 (c) 2013 Justin Svrcek

在此特此授予任何获得本软件及其相关文档副本(以下简称“软件”)的个人免费使用、复制、修改、合并、发布、分发、再许可和/或销售副本的权利,并允许将软件提供给他人使用,前提是遵守以下条件

上述版权声明和本许可声明应包含在软件的所有副本或主要部分中。

本软件按“原样”提供,不提供任何明示或暗示的保证,包括但不限于适销性、适用于特定目的和无侵权性的保证。在任何情况下,作者或版权持有人不对任何索赔、损害或其他责任负责,无论该责任是基于合同、侵权或其他方式,无论是否与软件或软件的使用或其他方式有关。