wimdevgroup/personizer-php

PHP client library for Personizer calendar API to fetch and filter calendar events from ICS feeds

Installs: 62

Dependents: 0

Suggesters: 0

Security: 0

Stars: 0

Watchers: 0

Forks: 0

Open Issues: 0

pkg:composer/wimdevgroup/personizer-php

0.0.4 2025-10-10 07:58 UTC

This package is auto-updated.

Last update: 2026-01-10 08:26:08 UTC


README

PHP client library für die Personizer Kalender API. Ermöglicht das Abrufen und Filtern von Kalenderevents aus ICS-Feeds.

Installation

composer require wimdevgroup/personizer-php

Verwendung

Grundlegende Verwendung

<?php
require_once 'vendor/autoload.php';

use Wimdevgroup\PersonizerPhp\PersonizerClient;

// Client mit Kalender-ID oder Token initialisieren
$client = new PersonizerClient('your-calendar-id-or-token');

// Alle Events abrufen (Standardeinstellungen)
$events = $client->getEvents();

Erweiterte Filteroptionen

// Events mit verschiedenen Filteroptionen abrufen
$events = $client->getEvents([
    'query' => 'Meeting',           // Filter nach Titelinhalt
    'limit' => 20,                  // Maximale Anzahl Events (Standard: 10, Max: 100)
    'future_only' => true,          // Nur zukünftige Events (Standard: true)
    'days_ahead' => 30,             // Events der nächsten X Tage
    'today' => false                // Nur heutige Events (Standard: false)
]);

Filteroptionen im Detail

Option Typ Standard Beschreibung
query string|null null Filtert Events nach Titelinhalt (case-insensitive)
limit int 10 Maximale Anzahl zurückgegebener Events (1-100)
future_only bool true Zeigt nur Events in der Zukunft
days_ahead int|null null Begrenzt Events auf die nächsten X Tage (1-365)
today bool false Zeigt nur Events vom heutigen Tag

Beispiele

// Nur Events von heute
$todayEvents = $client->getEvents(['today' => true]);

// Events der nächsten 7 Tage mit "Termin" im Titel
$weekEvents = $client->getEvents([
    'query' => 'Termin',
    'days_ahead' => 7,
    'limit' => 50
]);

// Alle vergangenen und zukünftigen Events
$allEvents = $client->getEvents([
    'future_only' => false,
    'limit' => 100
]);

Event-Datenstruktur

Jedes Event wird als Array mit folgenden Feldern zurückgegeben:

[
    'title' => 'Event Titel',
    'start' => '2024-01-15T10:00:00+01:00',    // ISO 8601 Format
    'end' => '2024-01-15T11:00:00+01:00',      // ISO 8601 Format oder null
    'description' => 'Event Beschreibung',
    'location' => 'Event Ort'
]

Zeitzone

Alle Zeiten werden automatisch in die Zeitzone Europe/Berlin konvertiert.

Fehlerbehandlung

try {
    $events = $client->getEvents();
} catch (\RuntimeException $e) {
    echo "Fehler beim Abrufen der Kalenderdaten: " . $e->getMessage();
} catch (\InvalidArgumentException $e) {
    echo "Ungültige Parameter: " . $e->getMessage();
}

Systemanforderungen

  • PHP >= 8.0
  • ext-json

Lizenz

MIT