كيف تعرض “منذ 12 دقيقة” في صفحات ويب PHP
يعد الوقت جانبًا أساسيًا من واجهات المستخدم، خاصة في تطبيقات الويب حيث يعزز عرض الوقت المنقضي منذ حدث ما تجربة المستخدم. طريقة شائعة للقيام بذلك هي عرض رسائل مثل “منذ 12 دقيقة” أو “منذ 5 ثواني.” في منشور المدونة هذا، سنستكشف كيفية تنفيذ هذه الميزة في تطبيق PHP الخاص بك من خلال وظيفة مفيدة.
لماذا نستخدم تنسيق الوقت المنقضي؟
يحتوي عرض الوقت في تنسيق منقضي على العديد من المزايا، بما في ذلك:
- الوضوح: بدلاً من عرض تاريخ ووقت محددين، مما قد يربك المستخدمين، يُعتبر الوقت المنقضي بديهيًا.
- الملاءمة: يوفر سياقًا فوريًا متعلقًا بالأحداث، مما يساعد المستخدمين على فهم حداثة المعلومات (على سبيل المثال، مدى حداثة المنشور).
- الإيجاز: تحافظ رسائل الوقت المختصرة على نظافة واجهتك وسهولة استخدامها.
الحل: تنفيذ وظيفة الوقت المنقضي
لعرض رسائل مثل “منذ 12 دقيقة”، يمكننا إنشاء وظيفة PHP تُسمى time_since()
تأخذ عدد الثواني المنقضية منذ حدث ما كمدخل وتعيد سلسلة نصية مفهومة تمثل مدى بعد الحدث.
وهنا كيف تبدو الوظيفة في PHP:
function time_since($since) {
$chunks = array(
array(60 * 60 * 24 * 365 , 'سنة'),
array(60 * 60 * 24 * 30 , 'شهر'),
array(60 * 60 * 24 * 7, 'أسبوع'),
array(60 * 60 * 24 , 'يوم'),
array(60 * 60 , 'ساعة'),
array(60 , 'دقيقة'),
array(1 , 'ثانية')
);
for ($i = 0, $j = count($chunks); $i < $j; $i++) {
$seconds = $chunks[$i][0];
$name = $chunks[$i][1];
if (($count = floor($since / $seconds)) != 0) {
break;
}
}
$print = ($count == 1) ? '1 '.$name : "$count {$name}s";
return $print;
}
تحليل الوظيفة
-
تحديد أجزاء الوقت: تعرف الوظيفة مصفوفة تُسمى
$chunks
. تحتوي هذه المصفوفة على فترات زمنية مختلفة وتسمياتهم المقابلة (مثل، سنوات، أشهر، أسابيع، أيام، ساعات، دقائق، ثواني). تساعد هذه الفترات في تحديد كيفية التعبير عن الوقت المنقضي. -
حساب الوقت المنقضي: تقوم حلقة بالتكرار عبر مصفوفة
$chunks
للعثور على أكبر وحدة زمنية تتوافق مع عدد الثواني المنقضية. تقوم الوظيفة بحساب عدد الوحدات من ذلك النوع التي تناسب الوقت المحدد. -
تنسيق الإخراج: بمجرد العثور على وحدة زمنية مناسبة، تقوم الوظيفة بتنسيق سلسلة الإرجاع. إذا كان الوقت مفردًا (مثل “1 دقيقة”)، فإنها تتجنب جمع الوحدة. خلاف ذلك، تضيف حرف ’s’ في النهاية (مثل “2 دقائق”).
مثال على الاستخدام
لاستخدام هذه الوظيفة، ما عليك سوى استدعائها مع عدد الثواني كوسيط. على سبيل المثال:
echo time_since(720); // الإخراج: "12 دقيقة"
echo time_since(5); // الإخراج: "5 ثواني"
تجعل هذه الطريقة من السهل عرض المدة الزمنية التي مرت منذ حدوث حدث ما بشكل سهل الفهم للمستخدمين.
الخاتمة
يمكن أن تعزز وظيفة time_since()
بسيطة بشكل كبير الطريقة التي يتم بها تقديم الوقت في تطبيق PHP الخاص بك. لا توفر فقط السياق الضروري، ولكنها أيضًا تخلق تجربة مستخدم أكثر جذبًا وودودًا. من خلال الاستفادة من تنسيق الوقت المنقضي، يمكنك إنشاء واجهة compelling تساعد المستخدمين على فهم عنصر الوقت المحتوى الذي يتعاملون معه بسهولة.
لا تتردد في تعديل هذه الوظيفة وتوسيعها لتناسب احتياجاتك، وسرعان ما سيصبح تطبيق الويب الخاص بك أكثر سهولة وفائدة للمستخدمين. تمنى لك تجربة برمجة سعيدة!