تعریف توابع قابلاستفاده مجدد، پارامترها، مقادیر پیشفرض، نوع بازگشتی و حوزه متغیرها (Scope).
تابع یک بلاک کد مجزا است که برای انجام یک وظیفه مشخص نوشته میشود و میتوان آن را بارها در طول برنامه فراخوانی کرد. توابع مانع تکرار کد (DRY) شده و ساختار برنامه را سازمانیافته، ماژولار و قابل تست میکنند.
توابع با کلمه کلیدی function تعریف میشوند. میتوانید برای ورودیها مقدار پیشفرض در نظر بگیرید و نوع دادههای ورودی و خروجی را برای افزایش دقت برنامه تعیین کنید.
<?php
// Function with parameters, default value, and type hinting
function calculateTotal(float $price, float $taxRate = 0.09): float {
return $price + ($price * $taxRate);
}
// Invoking functions
$itemTotal = calculateTotal(100.00); // Uses default taxRate (109.0)
$customTotal = calculateTotal(100.00, 0.15); // Custom taxRate (115.0)
echo "Total: $" . $itemTotal;
?>
متغیرهای تعریف شده خارج از تابع دارای حوزه **Global** هستند و مستقیماً داخل تابع در دسترس نیستند. متغیرهای درون تابع دارای حوزه **Local** بوده و فقط در همان تابع شناخته میشوند. برای نگه داشتن مقدار متغیر بین فراخوانیهای متوالی میتوان از کلمه کلیدی static استفاده نمود.
دسترسی مستقیم به متغیرهای عمومی بدون global
توابع در PHP به متغیرهای بیرونی دسترسی مستقیم ندارند. اگر نیاز به متغیر عمومی دارید باید آن را بهصورت پارامتر پاس دهید یا از global $var استفاده کنید (پاس دادن پارامتر ترجیح داده میشود).
فراموش کردن دستور return
اگر تابعی باید مقداری را خروجی دهد اما دستور return نداشته باشد، مقدار بازگشتی آن بهصورت خودکار null خواهد بود.
تابعی بنویسید که نام، فامیل و سن یک کاربر را دریافت کرده و یک آرایه انجمنی شامل مشخصات کاربر و وضعیت بزرگسال بودن (bool) را بازگرداند.
بازگشت به نقشه راه