SimpleCalendar
A simple PHP calendar rendering class
Install / Use
/learn @donatj/SimpleCalendarREADME
Simple Calendar
A very simple, easy to use PHP calendar rendering class.
Requirements
- php: >=7.2
- ext-calendar: *
Installing
Install the latest version with:
composer require 'donatj/simplecalendar'
Examples
<?php
require '../vendor/autoload.php';
echo '<link rel="stylesheet" href="../src/css/SimpleCalendar.css" />';
$calendar = new donatj\SimpleCalendar('June 2010');
echo $calendar->render();
<?php
require '../vendor/autoload.php';
echo '<link rel="stylesheet" href="../src/css/SimpleCalendar.css" />';
$calendar = new donatj\SimpleCalendar;
$calendar->setStartOfWeek('Sunday');
$calendar->addDailyHtml('Sample Event', 'today', 'tomorrow');
$calendar->setWeekDayNames([ 'Sun', 'Mon', 'Tu', 'W', 'Th', 'F', 'Sa' ]);
$calendar->setStartOfWeek('Monday');
echo $calendar->render();
Documentation
Class: \donatj\SimpleCalendar
Simple Calendar
Method: SimpleCalendar->__construct
function __construct([ $calendarDate = null [, $today = null]])
Parameters:
- \DateTimeInterface | int | string | null
$calendarDate - \DateTimeInterface | false | int | string | null
$today
Method: SimpleCalendar->setDate
function setDate([ $date = null]) : void
Sets the date for the calendar.
Parameters:
- \DateTimeInterface | int | string | null
$date- DateTimeInterface or Date string parsed by strtotime for the calendar date. If null set to current timestamp.
Throws: \Exception
Method: SimpleCalendar->setCalendarClasses
function setCalendarClasses(array $classes) : void
Sets the class names used in the calendar
[
'calendar' => 'SimpleCalendar',
'leading_day' => 'SCprefix',
'trailing_day' => 'SCsuffix',
'today' => 'today',
'event' => 'event',
'events' => 'events',
]
Parameters:
- array<string,string>
$classes- Map of element to class names used by the calendar.
Method: SimpleCalendar->setToday
function setToday([ $today = null]) : void
Sets "today"'s date. Defaults to today.
Parameters:
- \DateTimeInterface | false | int | string | null
$today-nullwill default to today,falsewill disable the rendering of Today.
Throws: \Exception
Method: SimpleCalendar->setWeekDayNames
function setWeekDayNames([ ?array $weekDayNames = null]) : void
Parameters:
- string[] | null
$weekDayNames
Method: SimpleCalendar->addDailyHtml
function addDailyHtml(string $html, $startDate [, $endDate = null]) : void
Add a daily event to the calendar
Parameters:
- string
$html- The raw HTML to place on the calendar for this event - \DateTimeInterface | int | string
$startDate- Date string for when the event starts - \DateTimeInterface | int | string | null
$endDate- Date string for when the event ends. Defaults to start date
Throws: \Exception
Method: SimpleCalendar->clearDailyHtml
function clearDailyHtml() : void
Clear all daily events for the calendar
Method: SimpleCalendar->setStartOfWeek
function setStartOfWeek($offset) : void
Sets the first day of the week
Parameters:
- int | string
$offset- Day the week starts on. ex: "Monday" or 0-6 where 0 is Sunday
Method: SimpleCalendar->show
function show([ bool $echo = true]) : string
Returns/Outputs the Calendar
DEPRECATED
Use render() method instead.
Parameters:
- bool
$echo- Whether to echo resulting calendar
Returns:
- string - HTML of the Calendar
Method: SimpleCalendar->render
function render() : string
Returns the generated Calendar
Related Skills
node-connect
350.1kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
109.9kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
350.1kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
350.1kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
