donatj / simplecalendar
A light, easy to use calendar rendering library
Fund package maintenance!
www.paypal.me/donatj/15
Ko Fi
donatj
Installs: 47 600
Dependents: 3
Suggesters: 0
Security: 0
Stars: 80
Watchers: 14
Forks: 46
Open Issues: 2
Requires
- php: >=7.2
- ext-calendar: *
Requires (Dev)
- ext-dom: *
- corpus/coding-standard: ^0.6.0
- donatj/drop: ^1.1
- friendsofphp/php-cs-fixer: ^3.3
- phpstan/phpstan: ^1.10
- phpunit/phpunit: *
- squizlabs/php_codesniffer: ^3.7
This package is auto-updated.
Last update: 2024-11-24 12:23:41 UTC
README
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
-null
will default to today,false
will 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