Skip to content

參與者與提醒

Event 與 Todo 都提供 typed organizer、attendees 與巢狀 alarms。

Organizer

Organizer 代表一個 ORGANIZER property。

Member型別意義
addressstring原始 cal-address;存在時包含 mailto:
email?string移除大小寫不敏感的 mailto:;無法轉換時為 null
name?stringCN parameter。
sentBy?stringSENT-BY parameter。
directory?stringDIR parameter。
parameters()array<string,string|list<string>>包含未知值在內的全部 parameters。

Attendee

Attendee 代表一個可重複的 ATTENDEE property,不會依 address 合併。

Member型別意義
addressstring原始 cal-address。
email, name?string正規化 email 與 CN 顯示名稱。
role, status, type?string大寫 ROLEPARTSTATCUTYPE
rsvp?boolTRUEFALSE;缺少或無法識別時為 null
delegatedFrom, delegatedToCollection<int,string>全部 delegation addresses。
parameters()array<string,string|list<string>>包含未知值在內的全部 parameters。

Alarm 與 trigger

每個 Alarm 代表 Event 或 Todo 裡的一個 VALARM

Member型別意義
action?stringACTION
trigger?AlarmTrigger相對或絕對 TRIGGER;缺少或不合法時為 null
description, summary?string提醒文字。
attendeesCollection<int, Attendee>依文件順序保留的重複 alarm attendees。
repeat?intREPEAT 次數。
duration?DateInterval每次重複之間的時間。
php
$trigger = $event->alarms->first()?->trigger;

$trigger?->isRelative(); // ?bool
$trigger?->isAbsolute(); // ?bool
$trigger?->duration();   // ?DateInterval
$trigger?->dateTime();   // ?CarbonImmutable
$trigger?->relatedTo();  // START、END 或 null

相對 trigger 的 duration() 是 Event 或 Todo 對應邊界前後的偏移量,relatedTo() 表示開始或結束;absolute trigger 則由 dateTime() 提供提醒時間。若 typed trigger 為 null 且需要原始值,請從上層 Event 或 Todo 的 generic properties 或 raw component 檢查。

Last updated:

使用 MIT License 發佈。