PHPackages                             momenoor/laravel-fullcalendar - 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. momenoor/laravel-fullcalendar

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

momenoor/laravel-fullcalendar
=============================

Laravel helper for FullCalendar.io

2.0.0(1y ago)041MITPHPPHP ^8.2

Since May 24Pushed 1y ago1 watchersCompare

[ Source](https://github.com/Momenoor/laravel-fullcalendar)[ Packagist](https://packagist.org/packages/momenoor/laravel-fullcalendar)[ RSS](/packages/momenoor-laravel-fullcalendar/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (2)Dependencies (1)Versions (3)Used By (0)

Laravel 8+ Full Calendar Helper
===============================

[](#laravel-8-full-calendar-helper)

[![Latest Stable Version](https://camo.githubusercontent.com/99765933007abd702e15d5a5781f66474f9dc7f55f0f950d89fe49707aeb306f/68747470733a2f2f706f7365722e707567782e6f72672f6d6f6d656e6f6f722f6c61726176656c2d66756c6c63616c656e6461722f762f737461626c65)](https://packagist.org/packages/momenoor/laravel-fullcalendar) [![Total Downloads](https://camo.githubusercontent.com/7c0ce1847e3a6576a24213b6c1acfb2ea2ea9d9f551c4207cf3924e9bf7a0828/68747470733a2f2f706f7365722e707567782e6f72672f6d6f6d656e6f6f722f6c61726176656c2d66756c6c63616c656e6461722f646f776e6c6f616473)](https://packagist.org/packages/momenoor/laravel-fullcalendar) [![Latest Unstable Version](https://camo.githubusercontent.com/be187bada66e2c242e4b5c3dcce0a1c334287cd68251f22c44cf9cb7b21326be/68747470733a2f2f706f7365722e707567782e6f72672f6d6f6d656e6f6f722f6c61726176656c2d66756c6c63616c656e6461722f762f756e737461626c65)](https://packagist.org/packages/momenoor/laravel-fullcalendar) [![License](https://camo.githubusercontent.com/d994ef4593f90a335bf88027594e0a8710a228cc5c6d31c25d85e27865ba50cb/68747470733a2f2f706f7365722e707567782e6f72672f6d6f6d656e6f6f722f6c61726176656c2d66756c6c63616c656e6461722f6c6963656e7365)](https://packagist.org/packages/momenoor/laravel-fullcalendar)

This is a simple helper package to make generating  in Laravel apps easier.

Installing
----------

[](#installing)

Require the package with composer using the following command:

```
composer require momenoor/laravel-fullcalendar

```

Or add the following to your composer.json's require section and `composer update`

```
"require": {
	"momenoor/laravel-fullcalendar": "~1.0"
}
```

Laravel 11 now supported
========================

[](#laravel-11-now-supported)

```
"require": {
	"momenoor/laravel-fullcalendar": "~2.0"
}
```

### Laravel 5.4 (and earlier)

[](#laravel-54-and-earlier)

Register the service provider in your `app.php` config file:

```
Momenoor\LaravelFullcalendar\ServiceProvider::class,
```

And optionally create an alias:

```
'Calendar' => Momenoor\LaravelFullcalendar\Facades\Calendar::class,
```

### Laravel 5.5+

[](#laravel-55)

The provider and `Calendar` alias will be registered automatically.

You will also need to include [fullcalendar.io](http://fullcalendar.io/)'s files in your HTML.

Usage
-----

[](#usage)

### Creating Events

[](#creating-events)

#### Using `event()`:

[](#using-event)

The simpliest way to create an event is to pass the event information to `Calendar::event()`:

```
$event = \Calendar::event(
    "Valentine's Day", //event title
    true, //full day event?
    '2015-02-14', //start time, must be a DateTime object or valid DateTime format (http://bit.ly/1z7QWbg)
    '2015-02-14', //end time, must be a DateTime object or valid DateTime format (http://bit.ly/1z7QWbg),
	1, //optional event ID
	[
		'url' => 'http://full-calendar.io'
	]
);
```

#### Implementing `Event` Interface

[](#implementing-event-interface)

Alternatively, you can use an existing class and have it implement `Momenoor\LaravelFullcalendar\Event`. An example of an Eloquent model that implements the `Event` interface:

```
class EventModel extends Eloquent implements \Momenoor\LaravelFullcalendar\Event
{

    protected $dates = ['start', 'end'];

    /**
     * Get the event's id number
     *
     * @return int
     */
    public function getId() {
		return $this->id;
	}

    /**
     * Get the event's title
     *
     * @return string
     */
    public function getTitle()
    {
        return $this->title;
    }

    /**
     * Is it an all day event?
     *
     * @return bool
     */
    public function isAllDay()
    {
        return (bool)$this->all_day;
    }

    /**
     * Get the start time
     *
     * @return DateTime
     */
    public function getStart()
    {
        return $this->start;
    }

    /**
     * Get the end time
     *
     * @return DateTime
     */
    public function getEnd()
    {
        return $this->end;
    }
}
```

#### `IdentifiableEvent` Interface

[](#identifiableevent-interface)

If you wish for your existing class to have event IDs, implement `\Momenoor\LaravelFullcalendar\IdentifiableEvent` instead. This interface extends `\Momenoor\LaravelFullcalendar\Event` to add a `getId()` method:

```
class EventModel extends Eloquent implements \Momenoor\LaravelFullcalendar\IdentifiableEvent
{

	// Implement all Event methods ...

    /**
     * Get the event's ID
     *
     * @return int|string|null
     */
    public function getId();

}
```

### Additional Event Parameters

[](#additional-event-parameters)

If you want to add [additional parameters](http://fullcalendar.io/docs/event_data/Event_Object) to your events, there are two options:

#### Using `Calendar::event()`

[](#using-calendarevent)

Pass an array of `'parameter' => 'value'` pairs as the 6th parameter to `Calendar::event()`:

```
$event = \Calendar::event(
    "Valentine's Day", //event title
    true, //full day event?
    '2015-02-14', //start time, must be a DateTime object or valid DateTime format (http://bit.ly/1z7QWbg)
    '2015-02-14', //end time, must be a DateTime object or valid DateTime format (http://bit.ly/1z7QWbg),
	1, //optional event ID
	[
		'url' => 'http://full-calendar.io',
		//any other full-calendar supported parameters
	]
);
```

#### Add an `getEventOptions` method to your event class

[](#add-an-geteventoptions-method-to-your-event-class)

```
