Муддате аст, ки ман дар бораи PHP Zmanim навиштам - корҳое, ки ман бо он анҷом додаам ва чизҳое, ки ҳангоми татбиқи он омӯхтам. Аммо бо вуҷуди таъхир, ман ҳамеша ният доштам, ки сӯҳбатро идома диҳам. Мо имруз хамин тавр кор карда истодаем.
Дараввалин паёми худ ман фаҳмонидам, ки чӣ гуна насб кардан ва оғоз кардани китобхонаи PHP Zmanim. Сипас, дар мақолаи навбатӣ , ман дар бораи ҳисоб кардани вақтҳои мураккабтар ва қудрати воқеии асбоб - татбиқи ақидаҳои маъмултарини Раббиниро барои зманимҳои гуногун кофтам. Ман аз он ҷое, ки мондаам, бо такрори ҳадди аққал идома медиҳам, аз ин рӯ, агар ба шумо лозим ояд, ки барои суръат гирифтани суръат як дақиқа вақт ҷудо кунед, ман ба он паёмҳои қаблӣ пайваст шудаам.
Ҳадафи имрӯз ин омӯхтани истифодаи PHP Zmanim мебошад, ки аз доираи истифодаи нисбатан оддии китобхона берун мераванд. Ин дар бар мегирад:
Бори дигар бояд бо изҳори миннатдории ман ба одамоне, ки ин ҳамаро имконпазир кардаанд, оғоз кунам. Пеш аз ҳама, дар байни рӯйхати тӯлонии номҳо Захари Вайкселбаум, роҳбари худи китобхонаи PHP Zmanim ва Элияху Ҳершфелд: созандаи китобхонаи Java Kosher Java , ки PHP Zmanim ба он асос ёфтааст.
Вақте ки мо тарк кардем, мо як скрипти асосии PHP доштем, ки:
Чунин менамуд:
<?php require 'vendor/autoload.php'; use PhpZmanim\Zmanim; use PhpZmanim\Calendar\ComplexZmanimCalendar; use PhpZmanim\Geo\GeoLocation; # Set variables: $locname = "Beit Knesset Chochmat Shlomo, Beachwood, OH"; $lat = 41.4939407; $long = -81.516709; $elev = 0; $tz = 'America/New_York'; $getyear = 2024; $getday = 20; $getmonth = 12; $testzmanim = Zmanim::create($getyear, $getmonth, $getday, $locname, $lat, $long, $elev, $tz); $sunrise = $testzmanim->sunrise; echo "$sunrise\n"; ?>
Аммо тулӯи офтоб танҳо ибтидо аст. Бо истифода аз ҳама гуна ҳисобҳои дарунсохт (ки дар саҳифаи Readme GitHub тавсиф шудааст), шумо метавонед вақтҳои гуногунро кашед. Масалан, барои он ки Минча Гедола андешаи мушаххаси раввиниро истифода барад, ман метавонам дохил кунам:
$gedolah = $zmanim->minchaGedola16Point1Degrees
Дар блоги охирин, ман инчунин роҳҳои истифодаи усули формати PHP Zmanim-ро барои хондан бештар хондани натиҷа гирифтам:
$gedolah = $gedolah->format('g:i a');
Барои онҳое, ки дар синагога вақти зиёдро сарф намекунанд (айб нест, шарм нест, шумо ҳоло ҳам дар ин ҷо хуш омадед) шояд аён набошад, аммо - сарфи назар аз номи зман - шумораи ками созмонҳо Минча (нимрӯз) намоз мегузоранд. дуоҳо) дар Минча Кетана, Минча Гедола ё Плаг хаМинча.
Дарвоқеъ, бисёре аз корҳо оид ба ҳисоб кардани вақтҳо ба рости "Минча Гедола чанд аст?" ва бештар бо «Чӣ қадар дер дар рӯз мо метавонем оқилона ба нақша Минча, то ки ҳама вақт барои расидан ба ин ҷо пас аз кор; аммо он қадар дер нашудааст, ки касе намеояд, зеро онҳо хӯроки шомро пазмон мешаванд?
Агар ин хеле назариявӣ бошад, ба ман иҷозат диҳед, ки муаммои мантиқии ҷенгаро, ки синагогаи ман ҳангоми муқаррар кардани ҷадвали ҳафтаина баррасӣ мекунад, мубодила кунам:
Дар ҳоле ки ҳама вақтҳои дигар, ки ман дар блогҳои қаблӣ фаро гирифта будам, ҳанӯз ҳам муҳим аст, умедворам, ки шумо дарк мекунед, ки онҳо назар ба интизори он камтар аҳамият доранд.
Пас, чӣ гуна шумо вақт ҷудо мекунед (ба монанди shkia / ғуруби офтоб) ва сипас дақиқаҳоро илова ё тарҳ кунед? Мо бо ҳамон скрипте, ки қаблан доштем, оғоз мекунем:
<?php require 'vendor/autoload.php'; use PhpZmanim\Zmanim; use PhpZmanim\Calendar\ComplexZmanimCalendar; use PhpZmanim\Geo\GeoLocation; # Set variables: $locname = "Beit Knesset Chochmat Shlomo, Beachwood, OH"; $lat = 41.4939407; $long = -81.516709; $elev = 0; $tz = 'America/New_York'; $getyear = 2024; $getday = 20; $getmonth = 12; $testzmanim = Zmanim::create($getyear, $getmonth, $getday, $locname, $lat, $long, $elev, $tz);
Ба ин, мо барои ғуруби офтоб код илова мекунем:
$sunset = $zmanim->sunset;
Ва он гоҳ, мо барои гирифтани вақти равшании шамъ 18 дақиқаро хориҷ мекунем:
$candles = date('g:i a', strtotime($sunset . " -18 minutes"));
Ин дуруст аст. Шумо танҳо функсияи худи PHP-ро истифода мебаред. Бубахшед, агар шуморо дар шубҳа нигоҳ дошта бошам. Аммо ин дар ҳақиқат ин қадар осон аст.
(...ва дигар саволҳои муҳим, вале ташвишовар аксар вақт дар синагогаи шумо ва атрофи он дода мешаванд.)
Дар баробари ҳисобҳои сана, китобхонаи KosherJava (ва аз ин рӯ китобхонаи PHP Zmanim) дорои усулҳо ва вазифаҳое мебошад, ки ба зудӣ маълумот пешниҳод мекунанд, ба монанди онҳое, ки дар боло оварда шудаанд.
Аввалин чизе, ки бояд фаҳмад, ин аст, ки объекти PHP Zmanim, ки мо то ҳол бо он кор мекардем, объекти Zmanim буд - объекте, ки маҷмӯи вақтҳои мушаххас барои санаи мушаххас дорад. Барои чизҳое, ки худи санаҳоро дар бар мегиранд, мо объекти jewishCalendar-ро эҷод мекунем. Хабари хуш ин аст, ки эҷод кардани он Хеле осонтар аст. Ба шумо танҳо сол, моҳ ва рӯз лозим аст.
<?php require 'vendor/autoload.php'; use PhpZmanim\Zmanim; use PhpZmanim\Calendar\ComplexZmanimCalendar; use PhpZmanim\Geo\GeoLocation; # Set variables: $getyear = 2024; $getday = 21; $getmonth = 09; $jewishCalendar = Zmanim::jewishCalendar(Carbon::createFromDate($getyear, $getmonth, $getday));
Мо ҳоло як объекти jewishCalendar дорем, ки бо он кор кунем ва метавонем усулҳои шабеҳеро, ки дар тӯли вақтҳо пайдо кардем, истифода барем. Масалан: Фарз кардем, ки санаи интихобкардаи мо рӯзи шанбе буд, мо метавонем қисми Тавротро гирем:
$format = Zmanim::format(); $parshaeng = json_decode('"' . $format->formatParsha($jewishCalendar) . '"');
(Ҳоло ба танзимоти $format беэътиноӣ кунед. Мо онро пас аз каме кобед).
Агар шумо ин кодро иҷро карда бошед, $parshaeng ба шумо медиҳад:
Parshas Ki Savo
Шумо хоҳед дид, ки ба мо лозим набуд, ки арз, тулӣ, минтақаи вақт ва ғайраро пешниҳод кунем. Ман ба қадри кофӣ таъкид карда наметавонам, ки танҳо ин қобилият - қобилияти гирифтани санаҳо, қисмҳои Таврот ва ғайра - китобхонаи PHP Zmanim-ро дар ҳама ҷо муфид мегардонад. худ, ҳатто бидуни ҳисобҳои вақт.
Қисми Таврот? Албатта! Дар ин ҷо хати формати $ ворид мешавад.
Аввалан, шарҳи он чӣ аст: Ин усулест, ки объектҳоро ба монанди Zmanim ва jewishCalendar тағир медиҳад, имконоти намоиш ва баромадро муқаррар мекунад. Танзими Zmanim::format() бе ягон маълумоти дигар ба забони англисӣ пешфарз аст. Аммо пас шумо метавонед бо ин хати иловагӣ ба системае, ки мехоҳед забони ибрӣ дошта бошед, бигӯед:
$format->setHebrewFormat(true)
Ҳоло, агар шумо ҳамон сатри json_decode('”' . $format->formatParsha($jewishCalendar) . '”')-ро иҷро кунед, шумо хоҳед гирифт:
כי תבוא
Ҳама чизро якҷоя кардан:
<?php require 'vendor/autoload.php'; use PhpZmanim\Zmanim; use PhpZmanim\Calendar\ComplexZmanimCalendar; use PhpZmanim\Geo\GeoLocation; # Set variables: $getyear = 2024; $getday = 21; $getmonth = 09; $jewishCalendar = Zmanim::jewishCalendar(Carbon::createFromDate($getyear, $getmonth, $getday)); $format = Zmanim::format(); $parshaeng = json_decode('"' . $format->formatParsha($jewishCalendar) . '"'); $format->setHebrewFormat(true); $parshaheb = json_decode('"' . $format->formatParsha($jewishCalendar) . '"'); echo "$parshaheb - $parshaeng\n";
Ин нишон медиҳад: כי תבוא – Ки Саво
Аниқтараш, кадом рӯзи Ибриён аст?
Мисли мисоли қаблӣ, мо бо jewishCalendar ва объекти формат оғоз мекунем.
$jewishCalendar = Zmanim::jewishCalendar(Carbon::createFromDate($theyear, $themonth, $theday)); $format = Zmanim::format();
Сипас, мо ҳамон сатрро илова мекунем, то форматро ба забони ибронӣ муқаррар кунем.
$format->setHebrewFormat(true);
Ва дар ниҳоят (ва хеле содда), мо баромади мустақими объекти тақвимро талаб мекунем:
$zmandate = json_decode('"' . $format->format($jewishCalendar) . '"');
Ин аслан ҳама чизест, ки ба шумо лозим аст. Натиҷа чунин аст:
17 Elul, 5784
Бале, гарчанде ки мо setHebrewFormat-ро муайян кардем, он ба забони англисӣ баромад.
Барои он ки санаи ибрӣ пурра ба забони ибронӣ нишон дода шавад - ҳам калимаҳо ва ҳам ҳарфҳо - мо усули каме дигарро истифода мебарем, ки мувофиқи он HebrewDateFormatter ном дорад. Фарз мекунем, ки шумо тағирёбандаҳои ибтидоии худро насб кардаед ва объекти jewishCalendar эҷод мекунед, код барои баровардани санаи забони ибрӣ чунин хоҳад буд:
$hebformat = HebrewDateFormatter::create(); $hebformat->setHebrewFormat(true); $hebdate = json_decode('"' . $hebformat->format($jewishCalendar) . '"'); print("Hebrew date: $hebdate\n");
Ки ба шумо медиҳад:
Hebrew date: י״ח אלול תשפ״ד
Баъзан, шумо бояд тафтиш кунед, ки санаи мушаххас ... хуб, рӯзи мушаххас аст. Мисли Рош Чодеш (моҳи нав) ё як қисми ҷашни бисёррӯза (ба монанди Суккот).
Маълум мешавад, ки усули PHP Zmanim инро хеле содда мекунад. Фарз мекунем, ки шумо ба мисли мисолҳои дигар оғоз кардаед,
вақте ки шумо объекти jewishCalendar-ро насб кардаед, он хеле содда аст
$jewishCalendar->isRoshHashana(); $jewishCalendar->isSuccos();
Агар сана ба ид мувофиқат кунад, он "ҳақиқӣ" бармегардад ва шумо метавонед бо ҳар мантиқ ё раванде, ки мехоҳед, ба мисли намоиши сана (ё не) идома диҳед.
Ба он бовар кунед ё не, боз барои пӯшонидани он чизи дигар вуҷуд дорад. Дар ҳафтаҳои оянда, вақте ки ман ба он мерасам, мехоҳам роҳҳои истифодаи функсияҳои астрономияи дарунсохтро барои ҳисобҳои вақт фаро гирам. Ба он бовар кунед ё не, он метавонад воқеан аз нуқтаи назари доштани вақтҳои дақиқ барои чизҳое, ба монанди оғоз ва анҷоми шанбе ва идҳо ва дар баробари дигар маросимҳо муҳим бошад.
Дар ҳамин ҳол, агар чизи дигаре вуҷуд дошта бошад, шумо мехоҳед, ки маро пӯшонед; ё агар шумо саволҳо, ислоҳҳо ё сипосҳо дошта бошед, озодона онҳоро дар шарҳҳои зер гузоред.