أنشئ دوالك الخاصة بوسائط محددة النوع، وقيم افتراضية، وقيم مُرجَعة.
افتح هذا الدرس في Kodokonإن الدالة كتلة من التعليمات تمنحها اسمًا، لتتمكن من إعادة استخدامها بقدر ما تحتاج عبر استدعاء بسيط. اكتب مرة واحدة، واستخدم في كل مكان: هذا هو المبدأ. تصرّح بها باستخدام الكلمة المفتاحية function، متبوعةً بالاسم، والقوسين، وكتلة بين قوسين معقوفين. وتعني علامة : void بعد القوسين أن الدالة لا تُرجِع شيئًا: فهي تتصرّف فحسب.
<?php
function sayHello(): void
{
echo "Hello and welcome!<br>";
}
sayHello();
sayHello();يحمل القوسان الوسائط: أي متغيرات تتلقّاها الدالة عند كل استدعاء. أما القيمة المحددة المُمرَّرة عند الاستدعاء فتُسمى مُعطى. في PHP الحديثة، تحدّد نوع كل وسيط (float $price) ونوع القيمة المُرجَعة (: float بعد القوسين): فترفض PHP عندئذٍ القيم ذات النوع الخاطئ، ما يمنع كثيرًا من الأخطاء البرمجية. وترسل التعليمة return نتيجة إلى موضع الاستدعاء وتوقف الدالة فورًا.
<?php
function addTax(float $price): float
{
return $price * 1.2;
}
echo addTax(100);
echo "<br>";
echo addTax(50);يمكن لوسيط أن يتلقّى قيمة افتراضية باستخدام =: فإذا لم يوفّر الاستدعاء مُعطى لذلك الوسيط، تتولّى القيمة الافتراضية المهمة. القاعدة الذهبية: توضع الوسائط ذات القيم الافتراضية بعد الوسائط الإلزامية.
<?php
function greet(
string $name,
string $greeting = "Hello"
): string {
return "{$greeting}, {$name}!";
}
echo greet("Awa");
echo "<br>";
echo greet("Awa", "Good evening");<?php
function totalPrice(
float $unitPrice,
int $quantity = 1
): float {
return $unitPrice * $quantity;
}
echo totalPrice(19.9, 3);
echo "<br>";
echo totalPrice(8.5);deffunctionfuncreturn؟function greet(string $name, string $greeting = "Hello")، ما قيمة $greeting إذا استدعيت greet("Awa")؟null