دوال PHP: أمثلة مدمجة، وسلاسل نصية، وأرقام

⚡ ملخص ذكي

الدوال في لغة PHP عبارة عن كتل برمجية قابلة لإعادة الاستخدام، تؤدي مهمة محددة، وتستقبل معاملات، ويمكنها إرجاع قيمة اختيارية. يشرح هذا الدليل أهمية الدوال، ويستعرض الدوال المدمجة للسلاسل النصية والأرقام والتواريخ، ويوضح كيفية كتابة دوال مُعرَّفة من قِبل المستخدم مع معاملات وقيم مُرجعة.

  • 🧩 ما هي وظائف البرنامج؟ تقوم الدالة بتجميع التعليمات البرمجية ذات الصلة في كتلة قابلة لإعادة الاستخدام تحمل اسمًا، وتأخذ معلمات الإدخال وقد تُرجع نتيجة.
  • ♻️ لماذا تستخدمها: تعمل الوظائف على تحسين تنظيم التعليمات البرمجية، وتسمح بإعادة استخدامها عبر البرامج النصية، وتمركز الصيانة بحيث تتم الإصلاحات في مكان واحد.
  • 📦 المكتبة المدمجة: تأتي لغة PHP مزودة بمئات من الدوال المدمجة التي تغطي السلاسل والأرقام والتواريخ والمصفوفات والملفات وقواعد البيانات.
  • 🔢 مساعدون رقميون: تقوم وظائف مثل number_format و round و sqrt و rand بتنسيق وحساب القيم العددية بسرعة.
  • 🛠️ مُعرَّف من قِبل المستخدم: تقوم بتعريف الدوال المخصصة باستخدام الكلمة المفتاحية function، باتباع قواعد التسمية، للتعامل مع المهام الروتينية مثل التحقق من الصحة.
  • 📥 المعاملات والقيمة المرجعة: يمكن أن تحتوي المعلمات على قيم افتراضية أو يتم تمريرها بالمرجع، وتعيد الدالة return قيمة إلى المستدعي.
  • 🤖 مساعدة الذكاء الاصطناعي: تستطيع أدوات الذكاء الاصطناعي كتابة دالة من وصف وإعادة هيكلة التعليمات البرمجية المتكررة إلى دوال نظيفة قابلة لإعادة الاستخدام.

وظائف PHP

ما هي الوظيفة في PHP؟

A دالة في لغة PHP هي عبارة عن جزء أو كتلة برمجية قابلة لإعادة الاستخدام تُنفّذ إجراءً مُحددًا. تستقبل هذه الدوال مُدخلات من المستخدم على شكل مُعاملات، وتُنفّذ إجراءات مُعينة، ثم تُخرج النتائج. يُمكن للدوال إما إرجاع قيم عند استدعائها أو ببساطة تنفيذ عملية دون إرجاع أي قيمة.

تحتوي لغة PHP على أكثر من 700 دالة مدمجة تؤدي مهامًا مختلفة.

لماذا استخدام الوظائف؟

  • تنظيم أفضل للتعليمات البرمجية – تسمح لنا وظائف PHP بتجميع كتل من التعليمات البرمجية ذات الصلة التي تؤدي مهمة محددة معًا.
  • إمكانية إعادة الاستخدام – بمجرد تعريف دالة ما، يمكن استدعاؤها من قبل عدد من البرامج النصية في ملفات PHP الخاصة بنا. هذا يوفر علينا عناء إعادة اختراع العجلة عندما نريد تنفيذ مهام روتينية مثل الاتصال بقاعدة البيانات.
  • سهولة الصيانة – لا يلزم إجراء تحديثات النظام إلا في مكان واحد.

وظائف PHP المضمنة

الوظائف المدمجة هي وظائف مُعرّفة مسبقًا في لغة PHP موجودة في حزمة التثبيت.

هذه الوظائف المضمنة في PHP هي التي تجعل PHP لغة برمجة فعالة ومنتجة للغاية.

يمكن تصنيف الوظائف المدمجة في لغة PHP إلى فئات عديدة. فيما يلي قائمة بالفئات الرئيسية.

وظائف السلسلة

هذه دوالٌ تُعالج بيانات السلاسل النصية. راجع المقالة حول سلاسل للاطلاع على أمثلة تطبيقية لوظائف السلاسل النصية.

وظائف رقمية

الوظائف الرقمية في PHP هي الوظائف التي ترجع نتائج رقمية.

يمكن استخدام وظائف PHP الرقمية لتنسيق الأرقام، وإرجاع الثوابت، وإجراء العمليات الحسابية، وغير ذلك الكثير.

يوضح الجدول أدناه الدوال العددية الشائعة في لغة PHP.

الوظيفة الوصف مثال الناتج
هو رقمي تقبل هذه الدالة وسيطًا وتعيد القيمة "صحيح" إذا كان الوسيط رقميًا، و"خطأ" إذا لم يكن كذلك.
<?php
if(is_numeric("guru"))
{
echo "true";
}
else
{
echo "false";
}
?>
زائف
<?php
if(is_numeric(123))
{
echo "true";
}
else
{
echo "false";
}
?>
صحيح
number_format تُستخدم لتنسيق قيمة رقمية باستخدام فواصل الأرقام والنقاط العشرية
<?php
echo number_format(2509663);
?>
2,509,663
صف تستخدم لتوليد رقم عشوائي.
<?php
echo rand();
?>
رقم عشوائي
دائري يقوم بتقريب العدد الذي يحتوي على فواصل عشرية إلى أقرب عدد صحيح.
<?php
echo round(3.49);
?>
3
الجذر التربيعي إرجاع الجذر التربيعي لرقم
<?php
echo sqrt(100);
?>
10
كوس إرجاع جيب التمام
<?php
echo cos(45);
?>
0.52532198881773
بدون إرجاع الجيب
<?php
echo sin(45);
?>
0.85090352453412
أسمر إرجاع الظل
<?php
echo tan(45);
?>
1.6197751905439
pi ثابت يُرجع قيمة PI
<?php
echo pi();
?>
3.1415926535898

وظيفة التاريخ

تُستخدم دالة التاريخ لتنسيق يونكس التاريخ والوقت بتنسيق يسهل على الإنسان قراءته.

راجع المقال حول وظائف التاريخ PHP للحصول على مزيد من التفاصيل.

وظائف أخرى تتضمن:

لماذا نستخدم الوظائف المحددة من قبل المستخدم؟

تُعدّ الدوال المُعرّفة من قِبل المستخدم مفيدة عندما:

  • لديك مهام روتينية في تطبيقك مثل إضافة البيانات إلى ملف قاعدة بيانات
  • إجراء فحوصات التحقق من صحة البيانات
  • التحقق من هوية المستخدمين في النظام، ومهام مماثلة.

ستتوزع هذه الأنشطة على عدد من الصفحات. ويُعدّ إنشاء دالة يمكن لجميع هذه الصفحات استدعاؤها إحدى الميزات التي تجعل لغة PHP لغة برمجة نصية قوية.

قبل أن نقوم بإنشاء أول دالة معرفة من قبل المستخدم، دعونا نلقي نظرة على القواعد التي يجب علينا اتباعها عند إنشاء الدوال الخاصة بنا.

  • يجب أن تبدأ أسماء الدوال بحرف أو شرطة سفلية، ولكن ليس برقم.
  • يجب أن يكون اسم الوظيفة فريدًا
  • يجب ألا يحتوي اسم الوظيفة على مسافات
  • يُعتبر استخدام أسماء الدوال الوصفية ممارسة جيدة.
  • يمكن للوظائف قبول المعلمات وإرجاع القيم أيضًا بشكل اختياري.

لنقم الآن بإنشاء أول دالة لنا. سنقوم بإنشاء دالة أساسية للغاية توضح المكونات الرئيسية للدالة في لغة PHP.

<?php

// define a function that adds two numbers

function add_numbers(){
echo 1 + 2;
}
add_numbers ();
?>

الإخراج:

3

هنا،

  • "function…(){…}" هو كتلة الدالة التي تخبر PHP بأنك تقوم بتعريف دالة مخصصة
  • "add_numbers" هو اسم الوظيفة التي سيتم استدعاؤها عند استخدام الوظيفة.
  • يمكن استخدام "()" لتمرير المعلمات إلى الوظيفة.
  • "echo 1 + 2;" هي كتلة التعليمات البرمجية التي يتم تنفيذها. ويمكن أن تكون أي تعليمات برمجية أخرى غير تلك المستخدمة في المثال أعلاه.

لنلق الآن نظرة على مثال معقد إلى حد ما يقبل معلمة ويعرض رسالة، تمامًا مثل الدالة المذكورة أعلاه.

لنفترض أننا نريد كتابة دالة تطبع اسم المستخدم على الشاشة. يمكننا كتابة دالة مخصصة تقبل اسم المستخدم وتعرضه على الشاشة.

يوضح الكود أدناه التنفيذ.

<?php
function display_name($name)
{
echo "Hello " . $name;
}
display_name("Martin Luther King");
?>

الإخراج:

Hello Martin Luther King

هنا،

  • يُشير "($name)" إلى مُعامل الدالة المسمى name. وتُعرض القيمة المُمررة إلى الدالة عند استدعائها بعد كلمة Hello.

لنلقِ نظرة الآن على دالة تستقبل مُعاملًا ثم تُعيد قيمة. سنُنشئ دالة تُحوّل الكيلومترات إلى أميال. سيتم تمرير الكيلومترات كمُعامل، وستُعيد الدالة ما يُعادلها بالأميال. يُوضح الكود أدناه كيفية تنفيذها.

<?php
function kilometers_to_miles($kilometers = 0)
{
$miles_scale = 0.62;
return $kilometers * $miles_scale;
}
echo kilometers_to_miles(100);
?>

الإخراج:

62

معلمات دالة PHP وقيم الإرجاع

تُمكّن المعاملات الدالة من العمل على مدخلات مختلفة في كل مرة تُنفّذ فيها، وتُعيد عبارة الإرجاع النتيجة إلى المُستدعي. يوفر PHP عدة طرق للتحكم في سلوك المعاملات.

  • قيم افتراضية: كما هو الحال في kilos_to_miles($kilometers = 0)، يتم استخدام قيمة افتراضية عندما يقوم المتصل بحذف هذا الوسيط.
  • مرر بالرقم المرجعي: إن إضافة البادئة & إلى أحد المعاملات يسمح للدالة بتغيير المتغير الأصلي للمستدعي بدلاً من نسخة منه.
  • القيم المُعادة: تُنهي الدالة return الدالة وتُعيد قيمة؛ بدونها، تُعيد الدالة قيمة فارغة (null).

يستخدم المثال أدناه معلمة مرجعية ومعدلًا افتراضيًا لإضافة ضريبة إلى سعر قائم.

<?php
function addTax(&$price, $rate = 0.1)
{
$price += $price * $rate;
}
$total = 100;
addTax($total);
echo $total;
?>

الإخراج:

110

لأن $price يتم تمريرها بالمرجع، فإن الدالة تقوم بتحديث المتغير الأصلي $total مباشرة، لذا فإن القيمة المعروضة هي 110.

الأسئلة الشائعة

تُعيد دوال PHP قيمة واحدة، لذا يُنصح بإعادة مصفوفة لإرسال عدة نتائج، على سبيل المثال: `return [$min, $max];`. يمكن للمستخدم فكّ هذه المصفوفة باستخدام الدالة `list()` أو الصيغة المختصرة `[$a, $b] = getRange();`.

الدالة المجهولة هي دالة بدون اسم، تُخزَّن في متغير أو تُمرَّر كوسيط. يمكن للدوال المغلقة (Closures) الوصول إلى المتغيرات الخارجية باستخدام الكلمة المفتاحية use، وهو أمر مفيد لدوال الاستدعاء مثل array_map و usort.

تم تقديم دالة السهم في PHP 7.4، وتستخدم الصيغة fn($x) => $x * 2. وهي عبارة عن إغلاق أقصر يقوم تلقائيًا بالتقاط المتغيرات الخارجية حسب القيمة، وهو مثالي لعمليات الاستدعاء الموجزة في سطر واحد.

نعم. صف المدخلات والمهمة والمخرجات المتوقعة، ويمكن للذكاء الاصطناعي إنشاء الدالة مع المعلمات وقيمة الإرجاع والتحقق الأساسي. Revاطلع على الحالات الاستثنائية واختبرها قبل استخدامها.

نعم. الصق الكود المكرر، وسيتمكن الذكاء الاصطناعي من...tracقم بتحويلها إلى دالة واحدة ذات معلمات، وقم بتحديث مواقع الاستدعاء. تحقق من أن المثالtracتغطي معايير ted كل اختلاف بين النسخ الأصلية.

تلخيص هذه التدوينة بـ: