PHPackages                             vics80/calendar - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. vics80/calendar

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

vics80/calendar
===============

Laravel 5 Calendar, based on gloudemans/calendar

1.02(11y ago)95.1k5PHPPHP &gt;=5.3.0

Since Dec 10Pushed 9y ago2 watchersCompare

[ Source](https://github.com/vics80/LaravelCalendar)[ Packagist](https://packagist.org/packages/vics80/calendar)[ RSS](/packages/vics80-calendar/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependencies (1)Versions (5)Used By (0)

Screenshot of calendar with minimal configuration
-------------------------------------------------

[](#screenshot-of-calendar-with-minimal-configuration)

[![Screenshot](img/screenshot.png)](img/screenshot.png)

Installation
------------

[](#installation)

Install the package through [Composer](http://getcomposer.org/). Edit your project's `composer.json` file by adding:

```
"require": {
	"laravel/framework": "4.0.*",
	"vics80/calendar": "dev-master"
}
```

Next, run the Composer update command from the Terminal:

```
composer update

```

Now all you have to do is add the service provider of the package and alias the package. To do this open your `config/app.php` file.

Add a new line to the `service providers` array:

```
'Vics80\Calendar\CalendarServiceProvider'

```

And finally add a new line to the `aliases` array:

```
'Calendar' => 'Vics80\Calendar\Facades\Calendar',

```

Now you're ready to start using the calendar package in your application.

Usage
-----

[](#usage)

You can use the `generate` method to generate a calendar.

```
// Generate a calendar for the current month and year
Calendar::generate();

// Generate a calendar for the specified year and month
Calendar::generate(2012, 6);
```

If you want to add events you have two ways to do it: The first way is to adding single events without attributes to the event's wrapper

```
// Add an array of events as the third parameter to add them to the calendar,
// keys should be the days of the month.
$data = array(
	3  => 'http://example.com/news/article/2006/03/',
	7  => 'http://example.com/news/article/2006/07/',
	13 => 'http://example.com/news/article/2006/13/',
	26 => 'http://example.com/news/article/2006/26/'
);

Calendar::generate(2006, 6, $data);
```

The second way is to adding multiple events in a same day. You cal also add somre attributes to the event's wrapper

```
// Add an array of events as the third parameter to add them to the calendar,
// keys should be the days of the month.
$data = array();
$data[3][] = array(
                'content' => 'http://example.com/news/article/2006/03/',
                'attr'    => array(
                        'class' => 'some-css-class'
                    )
                );
$data[3][] = array(
                'content' => 'http://example.com/news/article/2006/04/',
                'attr'    => array(
                        'class' => 'some-css-class'
                    )
                ),
$data[12][] = array(
                'content' => 'http://example.com/news/article/2006/10/',
                'attr'    => array(
                        'class' => 'another-css-class'
                    )
                ),

Calendar::generate(2006, 6, $data);
```

There are a few config variables you can set to change the layout of the calendar:

PreferenceDefault ValueOptionsDescriptiontemplateNoneNoneA string containing your calendar template. See the template section below.local\_timetime()NoneA Unix timestamp corresponding to the current time.start\_daysundayAny week day (sunday, monday, tuesday, etc.)Sets the day of the week the calendar should start on.month\_typelonglong, shortDetermines what version of the month name to use in the header. long = January, short = Jan.day\_typeabrlong, short, abrDetermines what version of the weekday names to use in the column headers. long = Sunday, short = Sun, abr = Su.show\_next\_prevfalsetrue/falseDetermines whether to display links allowing you to toggle to next/previous months. See information on this feature below.segmentsfalsetrue/falseDefault the next/prev link will use a query string, if you set this var to true, URI segments will be usedeventContainer&lt;p {attr}&gt;{event}Some HTML containing {event} and optional {attr}HTML DOM to show the event ({event} is the string with the event's description and {attr} are the attributes defined in data array)You can set these values using the `initialize` method

```
$config = array(
	'start_day' => 'monday',
	'month_type' => 'long'
);

Calendar::initialize($config);
```

Template
--------

[](#template)

You can also change the template used for the calendar.

```
$template = '
   {table_open}{/table_open}

   {heading_row_start}{/heading_row_start}

   {heading_previous_cell}&lt;&lt;{/heading_previous_cell}
   {heading_title_cell}{heading}{/heading_title_cell}
   {heading_next_cell}&gt;&gt;{/heading_next_cell}

   {heading_row_end}{/heading_row_end}

   {week_row_start}{/week_row_start}
   {week_day_cell}{week_day}{/week_day_cell}
   {week_row_end}{/week_row_end}

   {cal_row_start}{/cal_row_start}
   {cal_cell_start}{/cal_cell_start}

   {cal_cell_content}{day}{/cal_cell_content}
   {cal_cell_content_today}{day}{/cal_cell_content_today}

   {cal_cell_no_content}{day}{/cal_cell_no_content}
   {cal_cell_no_content_today}{day}{/cal_cell_no_content_today}

   {cal_cell_blank}&nbsp;{/cal_cell_blank}

   {cal_cell_end}{/cal_cell_end}
   {cal_row_end}{/cal_row_end}

   {table_close}{/table_close}
';

Calendar::initialize(array('template' => $template));

echo Calendar::generate();
```

###  Health Score

34

—

LowBetter than 77% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity28

Limited adoption so far

Community15

Small or concentrated contributor base

Maturity61

Established project with proven stability

 Bus Factor2

2 contributors hold 50%+ of commits

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~0 days

Total

3

Last Release

4024d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/48b2ba22d9926eaf283c38ddc171a174f301a01861d05106c989f9c355cf9abf?d=identicon)[vics80](/maintainers/vics80)

---

Top Contributors

[![Crinsane](https://avatars.githubusercontent.com/u/1297781?v=4)](https://github.com/Crinsane "Crinsane (8 commits)")[![bibloos](https://avatars.githubusercontent.com/u/26306279?v=4)](https://github.com/bibloos "bibloos (6 commits)")[![vics80](https://avatars.githubusercontent.com/u/6604190?v=4)](https://github.com/vics80 "vics80 (2 commits)")[![samundra](https://avatars.githubusercontent.com/u/760855?v=4)](https://github.com/samundra "samundra (1 commits)")

---

Tags

laravelcalendar

### Embed Badge

![Health badge](/badges/vics80-calendar/health.svg)

```
[![Health](https://phpackages.com/badges/vics80-calendar/health.svg)](https://phpackages.com/packages/vics80-calendar)
```

###  Alternatives

[barryvdh/laravel-ide-helper

Laravel IDE Helper, generates correct PHPDocs for all Facade classes, to improve auto-completion.

14.9k123.0M687](/packages/barryvdh-laravel-ide-helper)[laraveljutsu/zap

A flexible, performant, and developer-friendly schedule management system for Laravel

1.4k69.1k](/packages/laraveljutsu-zap)[interaction-design-foundation/laravel-geoip

Support for multiple Geographical Location services.

17221.0k3](/packages/interaction-design-foundation-laravel-geoip)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
