A very simple, easy to use PHP calendar rendering class.
- php: >=7.2
- ext-calendar: *
Install the latest version with:
composer require 'donatj/simplecalendar'
<?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();
Simple Calendar
function __construct([ $calendarDate = null [, $today = null]])
- \DateTimeInterface | int | string | null
$calendarDate
- \DateTimeInterface | false | int | string | null
$today
function setDate([ $date = null]) : void
Sets the date for the calendar.
- \DateTimeInterface | int | string | null
$date
- DateTimeInterface or Date string parsed by strtotime for the calendar date. If null set to current timestamp.
Throws: \Exception
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',
]
- array<string,string>
$classes
- Map of element to class names used by the calendar.
function setToday([ $today = null]) : void
Sets "today"'s date. Defaults to today.
- \DateTimeInterface | false | int | string | null
$today
-null
will default to today,false
will disable the rendering of Today.
Throws: \Exception
function setWeekDayNames([ ?array $weekDayNames = null]) : void
- string[] | null
$weekDayNames
function addDailyHtml(string $html, $startDate [, $endDate = null]) : void
Add a daily event to the calendar
- 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
function clearDailyHtml() : void
Clear all daily events for the calendar
function setStartOfWeek($offset) : void
Sets the first day of the week
- int | string
$offset
- Day the week starts on. ex: "Monday" or 0-6 where 0 is Sunday
function show([ bool $echo = true]) : string
Returns/Outputs the Calendar
Use render()
method instead.
- bool
$echo
- Whether to echo resulting calendar
- string - HTML of the Calendar
function render() : string
Returns the generated Calendar