يركز Chronos على توفير كائنات التاريخ/الوقت غير القابلة للتغيير. تساعد الكائنات غير القابلة للتغيير على ضمان عدم تعديل كائنات التاريخ والوقت عن طريق الخطأ مما يجعل البيانات أكثر قابلية للتنبؤ بها.
التثبيت مع الملحن:
$ composer require cakephp/chronos
يمكنك بعد ذلك استخدام Chronos:
<?phprequire 'vendor/autoload.php';use CakeChronosChronos;printf("Now: %s", Chronos::now());
كان Chronos متوافقًا في الأصل مع Carbon ولكنه تباعد ولم يعد يمتد إلى فئات PHP DateTime وDateTimeImmutable.
الكائنات غير القابلة للتغيير لها عدد من المزايا:
إن استخدام الكائنات غير القابلة للتغيير يكون دائمًا خاليًا من الآثار الجانبية.
لا تتغير التواريخ والأوقات عن طريق الخطأ أسفل أجزاء أخرى من التعليمات البرمجية الخاصة بك.
مع وضع هذه الفوائد في الاعتبار، هناك بعض الأشياء التي يجب عليك وضعها في الاعتبار عند تعديل الكائنات غير القابلة للتغيير:
// سيؤدي هذا إلى فقدان التعديلات$date = new Chronos('2015-10-21 16:29:00');$date->modify('+2hours');// سيحتفظ هذا بالتعديلات$date = new Chronos ('2015-10-21 16:29:00');$date = $date->modify('+2hours');
تقدم PHP كائنات التاريخ والوقت فقط كجزء من الملحقات الأصلية. يضيف Chronos عددًا من وسائل الراحة إلى كائن DateTime التقليدي ويقدم كائن ChronosDate
. تقوم ChronosDate
بتجميد وقتها إلى 00:00:00
وتعيين المنطقة الزمنية على المنطقة الزمنية الافتراضية للخادم. وهذا يجعلها مثالية عند العمل مع تواريخ التقويم حيث أن مكونات الوقت ستتطابق دائمًا.
استخدم CakeChronosChronosDate;$today = new ChronosDate();echo $today;// المخرجات '2015-10-21'echo $today->modify('+3 ساعات');// المخرجات '2015-10-21'
مثل مثيلات Chronos
، فإن كائنات ChronosDate
أيضًا غير قابلة للتغيير .
يمكن العثور على وثائق وصفية أكثر على book.cakephp.org/chronos/3/en/.
يمكن العثور على وثائق واجهة برمجة التطبيقات (API) على api.cakephp.org/chronos.