thijsw/ics-large

使用PHP生成内存占用低的.ics文件

dev-master 2016-05-09 07:48 UTC

This package is not auto-updated.

Last update: 2024-09-14 19:14:44 UTC


README

使用PHP生成内存占用低的日历.ics文件(iCal)

本项目使用了Justin Svrcek编写的

该库旨在用于生成大型.ics文件,其中所有事件无法存储在内存中。库按批获取事件,并直接打印结果条目,以将内存占用降到最低。

用法

use ICS_Large\Model\Calendar;
use ICS_Large\Model\CalendarEventList;
use ICS_Large\CalendarStream;
use Jsvrcek\ICS\CalendarExport;
use Jsvrcek\ICS\Utility\Formatter;

$closure = function($offset, $size) {

  // (build array of CalendarEvent objects)

  return [];
};

$calendar = new Calendar();
$calendar->setEvents(new CalendarEventList($closure));

$export = new CalendarExport(new CalendarStream(), new Formatter());
$export->addCalendar($calendar);
echo $export->getStream();

许可证

MIT许可证(MIT)

版权所有 © 2016 Thijs Wijnmaalen

在此特此授予任何获得本软件及其相关文档文件(以下简称“软件”)副本的人免费使用软件的权利,不受任何限制,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或销售软件副本的权利,并允许获得软件的人进行此类操作,前提是遵守以下条件

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

软件按“现状”提供,不提供任何形式的保证,明示或暗示的,包括但不限于适销性、特定用途适用性和非侵权性保证。在任何情况下,作者或版权所有者不对任何索赔、损害或其他责任承担责任,无论这些责任是根据合同、侵权或其他原因引起的,也不论这些责任是否与软件或软件的使用或其他交易有关。