Dev (Back & Front)ARTIGO

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

Criando links para Google Calendar com spatie/calendar-links em PHP
Imagem: Rodrigo "pokemaobr" Cardoso

Fala pessoal, tudo bom? Continuamos na série de artigos sobre bibliotecas escritas em PHPPHP44 conteúdosPadronizando seu código com PHP CS FixerDev (Back & Front) · mai 2019Docker de imagem. Para rodar projetos PHP em menos de 30 segundosDev (Back & Front) · jan 2026PHP 7.3: conheça as novidades desta versãoDev (Back & Front) · abr 2019Ver tudo em Dev (Back & Front) 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.

MBA em Engenharia de Softwares Orientado para Serviços pela Metrocamp, Campinas/SP. Bacharel em Matemática Aplicada e Computacional pela Universidade Federal Rural do Rio de Janeiro, Community Manager do iMasters. Programador PHP desde 2002. Evangelista PHPSP. Desenvolve sistemas desde batalhas Pokemon em mIRC, a robôs automatizadores de tarefas.

Ver perfil