PHP – توابع (Functions)

توابع در PHP

قدرت واقعی PHP از توابع آن نشأت می‌گیرد. PHP بیش از 1000 تابع داخلی دارد و علاوه بر آن، شما می‌توانید توابع سفارشی خود را نیز ایجاد کنید.

توابع داخلی PHP

PHP بیش از 1000 تابع داخلی دارد که می‌توانند مستقیماً در داخل یک اسکریپت فراخوانی شوند تا یک وظیفه خاص را انجام دهند.

توابع تعریف شده توسط کاربر در PHP

علاوه بر توابع داخلی، شما می‌توانید توابع سفارشی خود را نیز ایجاد کنید. یک تابع، بلوکی از دستورات است که می‌تواند بارها در یک برنامه استفاده شود. تابع زمانی اجرا می‌شود که به آن فراخوانی شود.

ایجاد یک تابع

اعلان یک تابع سفارشی با کلمه کلیدی function شروع می‌شود، به دنبال آن نام تابع و سپس پرانتزهای باز و بسته:

function myMessage() {
  echo "Hello world!";
}

فراخوانی یک تابع

برای فراخوانی یک تابع، کافی است نام تابع را به همراه پرانتزهای باز و بسته بنویسید:

function myMessage() {
  echo "Hello world!";
}

myMessage();

توابع PHP - پارامترها

اطلاعات می‌توانند از طریق پارامترها به توابع منتقل شوند. یک پارامتر مانند یک متغیر است. پارامترها پس از نام تابع، داخل پرانتزها مشخص می‌شوند. شما می‌توانید هر تعداد پارامتر که بخواهید اضافه کنید، فقط آن‌ها را با کاما جدا کنید.

function familyName($fname) {
  echo "$fname Refsnes.<br>";
}

familyName("Jani");
familyName("Hege");
familyName("Stale");
familyName("Kai Jim");
familyName("Borge");

مثالی با دو پارامتر:

function familyName($fname, $year) {
  echo "$fname Refsnes. Born in $year <br>";
}

familyName("Hege", "1975");
familyName("Stale", "1978");
familyName("Kai Jim", "1983");

مقدار پیش‌فرض پارامترها

می‌توانید برای پارامترهای تابع مقدار پیش‌فرض تعیین کنید. اگر تابع بدون پارامتر فراخوانی شود، مقدار پیش‌فرض استفاده خواهد شد:

function setHeight($minheight = 50) {
  echo "The height is : $minheight <br>";
}

setHeight(350);
setHeight(); // مقدار پیش‌فرض 50 استفاده می‌شود
setHeight(135);
setHeight(80);

توابع PHP - بازگشت مقادیر

برای بازگرداندن یک مقدار از یک تابع، از دستور return استفاده کنید:

function sum($x, $y) {
  $z = $x + $y;
  return $z;
}

echo "5 + 10 = " . sum(5, 10) . "<br>";
echo "7 + 13 = " . sum(7, 13) . "<br>";
echo "2 + 4 = " . sum(2, 4);

ارسال پارامترها با ارجاع

در PHP، پارامترها به طور پیش‌فرض با مقدار ارسال می‌شوند. این به این معنی است که یک کپی از مقدار در تابع استفاده می‌شود و متغیری که به تابع ارسال شده نمی‌تواند تغییر کند. با استفاده از عملگر & می‌توان پارامتر را با ارجاع ارسال کرد:

function add_five(&$value) {
  $value += 5;
}

$num = 2;
add_five($num);
echo $num; // خروجی: 7

تعداد متغیر پارامترها

ا استفاده از عملگر ... قبل از پارامتر تابع، می‌توانید تعداد نامشخصی از پارامترها را بپذیرید. این پارامترها به یک آرایه تبدیل می‌شوند:

function sumMyNumbers(...$x) {
  $n = 0;
  $len = count($x);
  for($i = 0; $i < $len; $i++) {
    $n += $x[$i];
  }
  return $n;
}

$a = sumMyNumbers(5, 2, 6, 2, 7, 7);
echo $a; // خروجی: 29

تنها یک پارامتر با طول متغیر می‌تواند داشته باشید و باید آخرین پارامتر باشد:

function myFamily($lastname, ...$firstname) {
  $txt = "";
  $len = count($firstname);
  for($i = 0; $i < $len; $i++) {
    $txt = $txt."Hi, $firstname[$i] $lastname.<br>";
  }
  return $txt;
}

$a = myFamily("Doe", "Jane", "John", "Joey");
echo $a;

زبان نوع گسترش یافته در PHP

PHP 7 شامل اعلان‌های نوع برای آرگومان‌های توابع است. با فعال کردن اعلان‌های سخت، اگر نوع داده‌ها همخوانی نداشته باشند، یک “خطای مهلک” رخ خواهد داد.

function addNumbers(int $a, int $b) {
  return $a + $b;
}

echo addNumbers(5, "5 days"); // خروجی: 10

برای فعال کردن اعلان‌های سخت:

<?php declare(strict_types=1); // نیاز به سخت
function addNumbers(int $a, int $b) {
  return $a + $b;
}

echo addNumbers(5, "5 days"); // خطای مهلک
?>

اعلان نوع بازگشت

PHP 7 همچنین از اعلان نوع برای بازگشت تابع پشتیبانی می‌کند:

<?php declare(strict_types=1); // نیاز به سخت
function addNumbers(float $a, float $b) : float {
  return $a + $b;
}

echo addNumbers(1.2, 5.2); // خروجی: 6.4
?>

می‌توانید نوع بازگشت را متفاوت از نوع آرگومان‌ها تعیین کنید، اما اطمینان حاصل کنید که بازگشت، نوع صحیحی است:

<?php declare(strict_types=1); // نیاز به سخت
function addNumbers(float $a, float $b) : int {
  return (int)($a + $b);
}

echo addNumbers(1.2, 5.2); // خروجی: 6
?>

توابع در PHP ابزارهای بسیار قدرتمندی هستند که می‌توانند به شما در ساخت برنامه‌های پیچیده و قابل مدیریت کمک کنند. با استفاده از توابع می‌توانید کدهای خود را سازمان‌دهی کرده و خوانایی و قابلیت نگهداری آن‌ها را افزایش دهید.

پست های مرتبط

مطالعه این پست ها رو از دست ندین!
Python - محدود کردن داده (MongoDB Limit)

Python – محدود کردن داده (MongoDB Limit)

Python MongoDB محدود کردن نتایج برای محدود کردن نتایج در MongoDB، از متد limit() استفاده می‌کنیم. متد limit() یک...

بیشتر بخوانید
Python - بروزرسانی (MongoDB Update)

Python – بروزرسانی (MongoDB Update)

به‌روزرسانی یک رکورد برای به‌روزرسانی یک رکورد یا سند در MongoDB، از متد update_one() استفاده می‌کنیم. پارامتر اول متد...

بیشتر بخوانید
Python - حذف کالکشن (MongoDB Drop Collection)

Python – حذف کالکشن (MongoDB Drop Collection)

حذف کالکشن شما می‌توانید یک جدول یا کالکشن در MongoDB را با استفاده از متد drop() حذف کنید. مثالحذف...

بیشتر بخوانید

نظرات

سوالات و نظراتتون رو با ما به اشتراک بذارید

برای ارسال نظر لطفا ابتدا وارد حساب کاربری خود شوید.