Back-End

31 ago, 2018

Criando links para Google Calendar com spatie/calendar-links em PHP

Publicidade

Fala pessoal, tudo bom? Continuamos na série de artigos sobre bibliotecas escritas em PHP para realizar coisas maneiras que podemos usar em nossos projetos. No artigo de hoje vamos falar sobre como criar links para Google Calendar ou outros sistemas de calendário. Essa biblioteca é mais uma biblioteca da Spatie. O calendar-links.

A utilização é bem simples, você precisa apenas criar o título da marcação no calendário, colocar a data de início e de fim da marcação, você pode colocar uma descrição e o endereço do evento a ser marcado e depois, basta gerar o link para o calendário que quiser “Google Calendar”, “Yahoo Calendar” ou “iCal / Outlook”. Sendo assim, quando o usuário clicar no link, poderá adicionar o evento ao calendário.

Vamos ao código. Criaremos primeiro uma pasta chamada calendar e faremos o composer require.

composer require spatie/calendar-links

Vamos criar o arquivo calendar.php e ver como funciona a biblioteca.

<?php

require_once "vendor/autoload.php";

use Spatie\CalendarLinks\Link;

$from = DateTime::createFromFormat('Y-m-d H:i', '2018-09-14 09:00'); //criando a data de início do evento
$to = DateTime::createFromFormat('Y-m-d H:i', '2018-09-15 19:00'); //criando a data de fim do evento

$link = Link::create('PHP Community Summit', $from, $to) //definindo o título do evento
    ->description('PHP Community Summit!') //definindo a descrição do evento
    ->address('R. Casa do Ator, 275 - Vila Olimpia, São Paulo, SP, Brazil'); //definindo o local do evento

// Gerando o link para o Google Calendar
echo $link->google();

print ('<br>'); //quebra de linha
print ('<br>'); //quebra de linha

// Gerando o link para o Yahoo calendar
echo $link->yahoo();

print ('<br>'); //quebra de linha
print ('<br>'); //quebra de linha

// Gerando o link para iCal & Outlook
echo $link->ics();

Podemos subir o servidor local do PHP para vermos os links no navegador:

php -S localhost:80

Sendo assim, fazendo localhost/calendar.php no seu navegador, temos:

E, utilizando o link do google calendar por exemplo temos:


Espero que tenha ajudado você a divulgar seus eventos para seus usuários. Um grande abraço e até a próxima.