Série de Dados Temporais: O Restante da História

Já faz um tempo desde que escrevi sobre o PHP Zmanim o trabalho que fiz com ele e as coisas que aprendi ao implementá-lo. Mas apesar do atraso, sempre tive a intenção de continuar a conversa. É isso que estamos fazendo hoje.

No meu primeiro post, expliquei como instalar e começar a usar a biblioteca PHP Zmanim. Em seguida, no próximo post, aprofundei-me no cálculo de horários mais complexos e no verdadeiro poder da ferramenta aplicando as opiniões rabínicas mais comuns para vários zmanim. Estou continuando de onde parei com uma sobreposição mínima, então se precisar de um minuto para se atualizar, linkei para esses posts anteriores.

O objetivo hoje é explorar usos do PHP Zmanim que vão além do uso relativamente direto da biblioteca. Isso inclui:

  • Pegar um horário padrão e ajustá-lo para casos de uso específicos da sinagoga (“Mincha começa 25 minutos antes do Shkia todos os dias”).
  • Usar funções e métodos da biblioteca PHP Zmanim que fornecem cálculos não relacionados a horários como a Porção Semanal da Torá, a data hebraica e se uma data especificada é um feriado (como Rosh Chodesh ou Sukkot).

Agradecimentos

Mais uma vez, preciso começar expressando minha gratidão às pessoas que tornaram tudo isso possível. Entre uma longa lista de nomes, destaca-se Zachary Weixelbaum, o mantenedor da biblioteca PHP Zmanim, e Eliyahu Hershfeld, criador da biblioteca Kosher Java na qual o PHP Zmanim é baseado.

Um Rápido Resumo

Quando paramos, tínhamos um script PHP básico sólido que:

  • Define variáveis para a localização (em latitude/longitude), junto com o fuso horário e a elevação.
  • Define a data
  • Cria um objeto php zmanim a partir dessas variáveis
  • Usa os métodos embutidos para calcular o horário de tudo, desde o nascer do sol até minchá e tzeit hakochavim

Ele se parecia com isso:

PHP

 

Mas o nascer do sol é apenas o começo. Usando qualquer um dos cálculos embutidos (que estão descritos na página ReadMe do GitHub), você pode obter uma ampla variedade de horários. Por exemplo, para obter Minchá Gedola usando uma opinião rabínica específica, eu poderia incluir:

PHP

 

No último blog, também abordei maneiras de usar o método de formatação do PHP Zmanim para tornar a saída mais legível:

PHP

 

“Sal a Gosto” Ajustando Horários

Para aqueles que não passam muito tempo na sinagoga (sem culpa, sem vergonha, você ainda é bem-vindo aqui) pode não ser óbvio, mas apesar do nome do zman pouquíssimas organizações rezam Minchá (orações da tarde) em Minchá Ketana, Minchá Gedola ou Plag haMinchá.

Na verdade, grande parte do trabalho em relação ao cálculo dos horários tem menos a ver com o simples “que horas é a Minchá Gedola?” e mais com “quão tarde no dia podemos agendar a Minchá de forma razoável para que todos tenham tempo de chegar depois do trabalho; mas não tão tarde que ninguém venha porque perderia o jantar?”

Se isso for muito teórico, permita-me compartilhar o quebra-cabeça lógico que minha sinagoga considera ao definir o cronograma semanal:

  • Acender as velas na sexta à noite: Shkia (pôr do sol) menos 18 minutos
  • Minchá de sexta-feira no verão: Plag haMinchá (usando “plagHaminchaAteretTorah”) menos 20 minutos
  • Minchá de sexta-feira no inverno: Shkia (pôr do sol) menos 22 minutos
  • Minchá de sábado: Shkia menos 40 minutos
  • Maariv de sábado: Shkia mais 50 minutos
  • Fim do Shabat de sábado: Shkia mais 45 minutos
  • Minchá dos dias úteis: encontre o shkia mais cedo da semana e subtraia 17 minutos

Enquanto todos os outros horários que eu abordei em blogs anteriores ainda são importantes, esperançosamente, você está começando a perceber que eles são importantes com menos frequência do que se poderia esperar.

Então, como você pega um horário (como shkia/pôr do sol) e depois adiciona ou subtrai minutos? Começaremos com o mesmo script que tínhamos antes:

PHP

 

Para isso, adicionaremos o código para obter o pôr do sol:

PHP

 

E então, subtrairemos 18 minutos para obter o horário de acender as velas:

PHP

 

Isso mesmo. Você apenas usa a própria função de string para tempo do PHP. Desculpe se eu mantive você em suspense. Mas é realmente tão fácil assim.

Qual é a Porção da Torá? Qual é a Data Hebraica? Quando é Rosh Chodesh?

(…e outras perguntas essenciais, mas irritantes, frequentemente feitas dentro e ao redor da sua sinagoga.)

Além dos cálculos de datas, a biblioteca KosherJava (e, portanto, a biblioteca PHP Zmanim) possui métodos e funções para fornecer rapidamente informações como as mencionadas acima.

A primeira coisa a entender é que o objeto PHP Zmanim com o qual temos trabalhado até agora tem sido um objeto Zmanim um objeto que possui um conjunto de horários específicos para uma data particular. Para coisas que envolvem as próprias datas, instanciamos um objeto jewishCalendar. A boa notícia é que é muito mais fácil de criar. Tudo que você precisa é do ano, mês e dia.

PHP

 

Agora temos um objeto jewishCalendar para trabalhar e podemos usar métodos semelhantes aos que encontramos para horários. Por exemplo, presumindo que a data que selecionamos fosse um sábado, podemos obter a porção da Torá:

PHP

 

(Ignore a configuração $format por enquanto. Vamos nos aprofundar nisso em um momento).

Se você executar esse código, $parshaeng lhe dará:

PHP

 

Você notará que não precisávamos fornecer latitude, longitude, fuso horário, etc. Não posso enfatizar o suficiente que essa capacidade sozinha – a habilidade de obter datas, porções da Torá e mais torna a biblioteca PHP Zmanim útil por si só, mesmo sem os cálculos de tempo.

Posso obter isso em hebraico?

A porção da Torá? Claro! É aqui que a linha $format entra.

Primeiro, uma explicação do que é: É um método que modifica objetos como Zmanim e jewishCalendar, definindo as opções de exibição e saída. Definir Zmanim::format() sem nenhuma outra informação padrão para o inglês. Mas então você pode informar ao sistema que deseja hebraico com esta linha adicional:

PHP

 

Agora, se você executar a mesma linha json_decode(‘”‘ . $format->formatParsha($jewishCalendar) . ‘”‘), você obteria:

Plain Text

 

Colocando tudo junto:

PHP

 

Isso exibiria: כי תבוא – Ki Savo.

Que dia é hoje?

Mais especificamente, que dia HEBRAICO é hoje?

Como no exemplo anterior, começamos com um jewishCalendar e um objeto de formato.

PHP

 

Então, adicionamos a mesma linha para definir o formato para hebraico.

PHP

 

E finalmente (e de forma bem simples), pedimos uma saída de objeto de calendário direto:

PHP

 

Isso é literalmente tudo o que você precisa. O resultado é algo como isto:

Plain Text

 

Sim, mesmo que tenhamos especificado setHebrewFormat, veio em inglês.

Posso obter isso em hebraico de verdade?

Para que a data hebraica apareça completamente em hebraico tanto palavras quanto letras invocamos um método ligeiramente diferente chamado, adequadamente, HebrewDateFormatter.

Presumindo (mais uma vez) que você configurou suas variáveis iniciais e criou um objeto jewishCalendar, o código para exibir uma data em hebraico seria:

PHP

 

O que lhe daria:

Plain Text

 

Hoje é o Dia?

Às vezes, você precisa verificar se uma data específica é… bem, um dia específico como Rosh Chodesh (o novo mês) ou parte de um feriado de vários dias (como Sucot).

Descobriu-se que o método Zmanim do PHP torna isso muito simples. Presumindo que você começou da mesma forma que os outros exemplos, uma vez que você configurou o objeto jewishCalendar, é tão simples quanto:

PHP

 

Se a data corresponder ao feriado, retornará “verdadeiro”, e você pode prosseguir com qualquer lógica ou processo que desejar, como exibir a data (ou não).

Então, o que vem a seguir?

Acredite ou não, ainda há mais a cobrir. Nas próximas semanas Sempre que eu conseguir, gostaria de abordar maneiras de aproveitar as funções de astronomia integradas para cálculos de tempo. Acredite ou não, isso pode realmente importar em termos de ter horários verdadeiramente precisos para coisas como o início e o fim do Shabat e feriados, junto com outras observâncias.

No meio tempo, se houver algo mais que você gostaria que eu cobrisse ou se você tiver perguntas, correções ou elogios, sinta-se à vontade para deixá-los nos comentários abaixo.

Source:
https://dzone.com/articles/time-data-series-the-rest-of-the-story