paint-brush
ស៊េរីទិន្នន័យពេលវេលា៖ វាមិនមែនអំពីអ្វីដែលអ្នកបាននិយាយនោះទេ - វាច្រើនអំពីរបៀបដែលអ្នកបាននិយាយវា។ដោយ@leonadato
219 ការអាន ប្រវត្តិសាស្ត្រថ្មី។

ស៊េរីទិន្នន័យពេលវេលា៖ វាមិនមែនអំពីអ្វីដែលអ្នកបាននិយាយនោះទេ - វាច្រើនអំពីរបៀបដែលអ្នកបាននិយាយវា។

ដោយ Leon Adato5m2025/03/01
Read on Terminal Reader

យូរ​ពេក; អាន

បណ្ណាល័យ PHP Zmanim មានមុខងារជាច្រើនដែលបញ្ចេញអត្ថបទឯកទេស។ នេះជារបៀបដែលអ្នកកែប្រែលទ្ធផលនោះ ដើម្បីផ្គូផ្គងរចនាប័ទ្ម ឬគ្រាមភាសាដែលអ្នកចង់បាន។
featured image - ស៊េរីទិន្នន័យពេលវេលា៖ វាមិនមែនអំពីអ្វីដែលអ្នកបាននិយាយនោះទេ - វាច្រើនអំពីរបៀបដែលអ្នកបាននិយាយវា។
Leon Adato HackerNoon profile picture

នៅក្នុង ការប្រកាសចុងក្រោយរបស់ខ្ញុំនៅលើ PHP Zmanim ខ្ញុំបាននិយាយថារឿងបន្ទាប់ដែលខ្ញុំនឹងសរសេរអំពីគឺការគណនាតារាសាស្ត្រ។ ខ្ញុំ​នៅ​តែ​មាន​គម្រោង​ធ្វើ​បែប​នេះ ប៉ុន្តែ​មាន​អ្វី​មួយ​បាន​កើត​ឡើង​ថ្មីៗ​នេះ​ដែល​ចាប់​អារម្មណ៍​ខ្ញុំ ដូច្នេះ​ខ្ញុំ​នឹង​និយាយ​អំពី​រឿង​នោះ​ជំនួស​វិញ។ ខ្ញុំ​នៅ​តែ​មាន​គម្រោង​ទៅ​កាន់​វត្ថុ​តារាសាស្ត្រ។

Sephardi ទល់នឹង Ashkenazi

ទេ មិនមែន Kitniyot ទេ។ ទេ មិនមែនរបៀបព្យួរ mezuzzah របស់អ្នកទេ។ ទេ មិន​ថា​អ្នក​ត្រូវ​ប្រើ​ទឹក challah ឬ​បើ​ស៊ុត challah មិន​អី​ទេ។ ខ្ញុំកំពុងនិយាយអំពីសំឡេង "T" នៅក្នុងពាក្យជាក់លាក់។


ពិចារណា៖

បេរេស៊ីស

បេរេស៊ីត

Ki Seitzei

Ki Teitzei

ទេវ

តេវេត

មានច្រើនទៀត ប៉ុន្តែ (ប្រសិនបើអ្នកអាន/និយាយភាសាហេព្រើរ ឬជាផ្នែកមួយនៃសហគមន៍ជ្វីហ្វគ្រិស្តអូស្សូដក់ក្នុងរយៈពេលណាមួយ) អ្នកទទួលបានចំណុច។ ទំនៀមទំលាប់ទាំងពីរនេះមានវិធីផ្សេងគ្នាក្នុងការបញ្ចេញសំឡេងជាក់លាក់ ដូច្នេះហើយការបកប្រែជាភាសាអង់គ្លេសមានការផ្លាស់ប្តូរ។ ហើយ​ដូច​ជា​ប្រពៃណី​ណា​មួយ អស់​អ្នក​ដែល​ប្រកាន់​ខ្ជាប់​នូវ​ទម្លាប់​មួយ ឬ​ផ្សេង​ទៀត​អាច​មាន​ចំណង់​ខ្លាំង​ក្នុង​ការ​ទទូច​លើ​ការ​ប្រើ​ប្រាស់ "ត្រឹមត្រូវ"។


PHP Zmanim ដោយខ្លួនឯងត្រូវបាន "សរសេរកូដ" ដោយប្រើការបកប្រែតាមបែប Ashkenazi ។ ប៉ុន្តែនោះមិនមានន័យថា អ្នកមិនអាចផ្លាស់ប្តូរវា ហើយធ្វើវាដោយងាយស្រួលនោះទេ។ នៅក្នុងផ្នែកមួយចំនួនបន្ទាប់ ខ្ញុំនឹងបង្ហាញអ្នកពីរបៀបយកពាក្យបកប្រែដែលមានស្រាប់សម្រាប់កាលបរិច្ឆេទ ថ្ងៃឈប់សម្រាក និងចំណងជើង Torah Portion ហើយបំប្លែងវាដើម្បីឱ្យពួកវាលេចឡើងតាមអ្វីដែលអ្នកចង់បាន។

ជំហានទី 1: បង្កើតផែនទីរបស់អ្នក។

សម្រាប់ឈ្មោះខែ ចំណងជើងផ្នែក Torah ថ្ងៃឈប់សម្រាក និងច្រើនទៀត PHP Zmanim មានផែនទីតម្លៃ។ ចូរចាប់ផ្តើមជាមួយអ្វីដែលងាយស្រួលបំផុត - ខែ។


នេះគ្រាន់តែជាអារេសាមញ្ញនៃតម្លៃ៖

 transliteratedMonths = ["Nissan", "Iyar", "Sivan", "Tammuz", "Av", "Elul", "Tishrei", "Cheshvan","Kislev", "Teves", "Shevat", "Adar", "Adar II", "Adar I"];


ដើម្បី "ជួសជុល" នេះ និងប្រើការបកប្រែតាមព្យញ្ជនៈដែលអ្នកចង់បាន (ក្នុងករណីនេះ វាប្រហែលជាមានតែ "Teves" ប៉ុណ្ណោះដែលត្រូវផ្លាស់ប្តូរ) ដំបូងអ្នកត្រូវបង្កើតអារេឡើងវិញ៖

 $transliteratedMonths = ["Nissan", "Iyar", "Sivan", "Tammuz", "Av", "Elul", "Tishrei", "Cheshvan","Kislev", "Tevet", "Shevat", "Adar", "Adar II", "Adar I"];

ជំហានទី 2៖ រៀបចំប្រតិទិនរបស់អ្នក។

សម្រាប់​ថ្ងៃ​ឈប់​សម្រាក អ្នក​នឹង​ប្រើ​វត្ថុ JewishCalendar (ដែល​យើង​បាន​រៀបរាប់​នៅ​ក្នុង ​ការ​ប្រកាស​ប្លក់​មុន )។


ជាដំបូង យើងកំណត់អថេរឆ្នាំ ខែ និងថ្ងៃ ហើយបង្កើតវត្ថុប្រតិទិនជ្វីហ្វ៖

 $year = 2025; $month = 1; $day = 10; $jewishCalendar = Zmanim::jewishCalendar(Carbon::createFromDate($theyear, $themonth, $theday));

ដាក់វាទាំងអស់គ្នា

បន្ទាប់មក យើងចាប់ផ្តើមទម្រង់ PHP ZManim ហើយបន្ទាប់មករុញខែដែលបកប្រែថ្មីទៅជា PHP Zmanim៖

 $format = Zmanim::format(); $format->setTransliteratedMonthList($transliteratedMonths);


ជាចុងក្រោយ យើងយកលទ្ធផលនោះទៅជាទម្រង់អថេរ៖

 $zmandate = json_decode('"' . $format->format($jewishCalendar) . '"'); return $zmandate;


លទ្ធផលនឹងជា
10 Tevet 5785


ហើយ​បើ​អ្នក​ឆ្ងល់​ថា ឆ្នាំ​២០២៥ លេខ​ថ្ងៃ (១, ២, ៣,។

រីករាយថ្ងៃសម្រាក!

ការបកប្រែតាមព្យញ្ជនៈថ្ងៃឈប់សម្រាកត្រូវបានដោះស្រាយស្រដៀងគ្នា បើទោះបីជាមានភាពខុសប្លែកគ្នាបន្តិចបន្តួចក៏ដោយ។


ចាប់ផ្តើមជាមួយនឹងការរៀបចំដំបូងដូចគ្នានៃកាលបរិច្ឆេទ និងវត្ថុប្រតិទិន៖

 $year = 2025; $month = 1; $day = 10; $jewishCalendar = Zmanim::jewishCalendar(Carbon::createFromDate($theyear, $themonth, $theday));


បន្ទាប់ យើងនឹងកំណត់ការបកប្រែតាមព្យញ្ជនៈនៃថ្ងៃឈប់សម្រាកតាមរបៀបដូចគ្នាដែលយើងបានធ្វើសម្រាប់ខែ៖:

 $transliteratedHolidays = ["Erev Pesach", "Pesach", "Chol Hamoed Pesach", "Pesach Sheni", "Erev Shavuot", "Shavuot", "Shiva Asar B'Tammuz", "Tisha B'Av", "Tu B'Av", "Erev Rosh Hashana", "Rosh Hashana", "Tzom Gedalyah", "Erev Yom Kippur", "Yom Kippur", "Erev Succot", "Succot", "Chol Hamoed Succot", "Hoshana Rabba", "Shemini Atzeret", "Simchat Torah", "Erev Chanukah", "Chanukah", "Tenth of Tevet", "Tu Bishvat", "Taanit Esther", "Purim", "Shushan Purim", "Purim Katan", "Rosh Chodesh", "Yom HaShoah", "Yom Hazikaron", "Yom Ha'atzmaut", "Yom Yerushalayim", "Lag B'Omer","Shushan Purim Katan", "Isru Chag"];


បន្ទាប់មក យើងចាប់ផ្តើមទម្រង់ PHP ZManim ហើយបន្ទាប់មករុញខែដែលបកប្រែថ្មីទៅជា PHP Zmanim៖

 $format = Zmanim::format(); $format-$format->setTransliteratedHolidayList($transliteratedHolidays);


ជាចុងក្រោយ យើងប្រើប្រាស់ព័ត៌មានប្រតិទិន ហើយ (ប្រសិនបើវាជាថ្ងៃបុណ្យ) ទទួលបានលទ្ធផល៖

 $zmanholiday = $format->formatYomTov($jewishCalendar);


ការបញ្ចេញសំឡេង $zmanholiday នឹងមើលទៅដូចនេះ៖

ទីដប់នៃទេវី


ចំណាំ៖ សម្រាប់​អ្នក​ដែល​មិន​សូវ​ស្គាល់ "បុណ្យ​ទីដប់​នៃ​ទេវ" (ឬ "Asarah B'Tevet") ជា​ថ្ងៃ​តម​អាហារ ហើយ​មាន​ការ​ប្រារព្ធ​ពិធី​ពិសេស​រៀង​ខ្លួន។

តើឈ្មោះអ្វី?

ឧទាហរណ៍ចុងក្រោយរបស់យើងនិយាយអំពីការបកប្រែឈ្មោះផ្នែក Torah - ថាតើនរណាម្នាក់បង្ហាញផ្នែកដំបូងនៅក្នុង Torah "Bereshis" ឬ "Beresheet" ។ សម្រាប់បញ្ហានេះ PHP Zmanim ប្រើ array នៃ key-value pairs ដែលអ្វីដែលអ្នកត្រូវធ្វើគឺផ្លាស់ប្តូរតម្លៃ ហើយទុក key តែម្នាក់ឯង។


នេះជាអ្វីដែលមើលទៅមិនផ្លាស់ប្តូរ៖

 $this->transliteratedParshaMap = [ Parsha::NONE => "", Parsha::BERESHIS => "Bereshis", Parsha::NOACH => "Noach", Parsha::LECH_LECHA => "Lech Lecha", Parsha::VAYERA => "Vayera", Parsha::CHAYEI_SARA => "Chayei Sara", Parsha::TOLDOS => "Toldos", (and so on. I'm not printing the full list here)


(ហើយនេះគឺជាការកែសម្រួលដែលខ្ញុំកំពុងធ្វើសម្រាប់សាលាប្រជុំ (Sephardic) របស់ខ្ញុំ៖

 $transliteratedParshaMap = [ Parsha::NONE => "", Parsha::BERESHIS => "Beresheet", Parsha::NOACH => "Noach", Parsha::LECH_LECHA => "Lech Lecha", Parsha::VAYERA => "Vayera", Parsha::CHAYEI_SARA => "Chayei Sara", Parsha::TOLDOS => "Toldot", (etc)


ការប្រើវានៅក្នុងកូដរបស់អ្នកធ្វើតាមលំនាំដូចគ្នាដែលយើងបានបង្កើតជាមួយនឹងកាលបរិច្ឆេទ និងថ្ងៃបុណ្យ។


មុនពេលយើងចាប់ផ្តើមសរសេរកូដ វាជារឿងសំខាន់ក្នុងការកត់សម្គាល់ថាអ្នកត្រូវតែធានាថាថ្នាក់ "Parsha" ត្រូវបានប្រើដោយលេខកូដរបស់អ្នក៖
use PhpZmanim\HebrewCalendar\Parsha;


វាក៏សំខាន់ផងដែរសម្រាប់អ្នកដើម្បីដឹងថា PHP Zmanim នឹងបញ្ចេញ Torah Portion តែប៉ុណ្ណោះ ប្រសិនបើកាលបរិច្ឆេទដែលបានផ្តល់ឱ្យគឺជាថ្ងៃសៅរ៍ ដូច្នេះអ្នកប្រហែលជាត្រូវយកកាលបរិច្ឆេទដែលបានផ្តល់ឱ្យណាមួយ ហើយស្វែងរកថ្ងៃសៅរ៍ (ឬមុន) នាពេលខាងមុខ ដើម្បីទទួលបានលទ្ធផលត្រឹមត្រូវ។


នៅពេលដែលធាតុទាំងនោះត្រូវបានគ្រប់គ្រង អ្នកចាប់ផ្តើមដោយបង្កើតវត្ថុប្រតិទិនដូចឧទាហរណ៍ផ្សេងទៀតរបស់យើង៖

 $getyear = 2024; $getday = 26; $getmonth = 10; $jewishCalendar = Zmanim::jewishCalendar(Carbon::createFromDate($theyear, $themonth, $theday));


បង្កើត​អថេរ​បំប្លែង​អក្សរ​ថ្មី (ចំណាំ​ថា​វា​ត្រូវ​បាន​បង្ហាញ​តែ​ផ្នែក​ប៉ុណ្ណោះ​។ អ្នក​អាច​រក​ឃើញ​អារេ​តម្លៃ​គ្រាប់ចុច​ពេញ​លេញ​ក្នុង (គិត​ត្រឹម​ពេល​សរសេរ​នេះ) បន្ទាត់ 169 ក្នុង PHP Zmanim GitHub repo )

 $transliteratedParshaMap = [ Parsha::NONE => "", Parsha::BERESHIS => "Beresheet", Parsha::NOACH => "Noach", Parsha::LECH_LECHA => "Lech Lecha", Parsha::VAYERA => "Vayera", Parsha::CHAYEI_SARA => "Chayei Sara", Parsha::TOLDOS => "Toldot", (etc)


បន្ទាប់មក យើងចាប់ផ្តើមទម្រង់ ហើយបន្ទាប់មករុញអារេបកប្រែថ្មី៖

 $format = Zmanim::format(); $format->setTransliteratedParshiosList($transliteratedParshaMap);


ជាចុងក្រោយ យើងប្រើប្រាស់ព័ត៌មានប្រតិទិនដើម្បីចាប់យក Torah potion ត្រឹមត្រូវដែលបកប្រែតាមវិធីដែលយើងចង់បាន៖

 $output = json_decode('"' . $format->formatParsha($jewishCalendar) . '"');


ការបញ្ចេញសំឡេងនឹងផ្តល់ឱ្យយើងនូវ:

Beresheet

តើមានអ្វីទៀតដែលត្រូវនិយាយ?

សម្រាប់អ្នកខ្លះ ទាំងអស់នេះអាចហាក់ដូចជាការងារដែលមិនចាំបាច់សម្រាប់ភាពខុសគ្នានៃការប្រកបមួយចំនួន។ សម្រាប់​មនុស្ស​ដែល​មិន​បាន​ចំណាយ​ពេល​ច្រើន​ក្នុង​ក្រុម​ដែល​មាន​វប្បធម៌​ជ្វីហ្វ​ផ្សេង​គ្នា​ចូល​រួម នោះ​វា​អាច​ជា​រឿង​គួរ​ឱ្យ​ភ្ញាក់​ផ្អើល​ក្នុង​ការ​ស្វែង​យល់​ថា​តើ​មនុស្ស​ដែល​មាន​អារម្មណ៍​រំភើប​ចំពោះ​រឿង​ទាំង​នេះ​យ៉ាង​ណា។


ឥឡូវនេះ សូមរំលឹកខ្ញុំម្តងទៀតអំពីវិធី "ត្រឹមត្រូវ" ដើម្បីបញ្ចេញ GIF?

L O A D I N G
. . . comments & more!

About Author

Leon Adato HackerNoon profile picture
Leon Adato@leonadato
Leon has been a speaker and blogger in the monitoring and observability space for almost a decade.

ព្យួរស្លាក

អត្ថបទនេះត្រូវបានបង្ហាញនៅក្នុង...