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.