آموزش جامع توابع در PHP: راهنمای کامل ساخت توابع سفارشی و استفاده از توابع داخلی
توابع در PHP چیستند و چرا به آنها نیاز داریم؟
در دنیای برنامهنویسی، تکرار کد یکی از بزرگترین دشمنان توسعهدهنده است. قانون معروف DRY (Don't Repeat Yourself) به ما میگوید که نباید قطعه کدهای تکراری را در بخشهای مختلف برنامه خود کپی کنیم. راهکار حل این مشکل در PHP، استفاده از توابع (Functions) است.
تابع یک بلوک کد سازماندهی شده و قابل استفاده مجدد است که برای انجام یک عمل مشخص طراحی میشود. توابع به ما کمک میکنند کدهایی تمیزتر، خواناتر و با قابلیت نگهداری بالا بنویسیم.
۱. نحوه تعریف یک تابع سفارشی (Custom Function) در PHP
برای تعریف یک تابع شخصی در PHP، از کلمه کلیدی function استفاده میشود. پس از آن نام تابع و پرانتزها قرار میگیرند. نام تابع باید با یک حرف یا خط تیره (_) شروع شود و به حروف بزرگ و کوچک حساس نیست (اما طبق استاندارد بهتر است از camelCase یا snake_case استفاده کنید).
// تعریف یک تابع ساده
function sayWelcome() {
echo "به آکادمی توسعه وب خوش آمدید!";
}
// فراخوانی تابع
sayWelcome();
۲. ارسال پارامترها و آرگومانها به تابع
پارامترها مانند متغیرهایی هستند که در هنگام تعریف تابع داخل پرانتز قرار میگیرند تا مقادیری را از بیرون دریافت کنند. به مقادیر واقعی که در زمان فراخوانی به تابع پاس داده میشوند، آرگومان میگویند.
// تابع با یک پارامتر ورودی
function greetUser($username) {
echo "سلام " . $username . " عزیز!";
}
// فراخوانی با آرگومانهای مختلف
greetUser("امیر");
greetUser("سارا");
مقادیر پیشفرض برای پارامترها (Default Arguments)
شما میتوانید برای پارامترهای خود یک مقدار پیشفرض تعریف کنید تا در صورتی که کاربر آرگومانی ارسال نکرد، از آن مقدار استفاده شود.
function setServerPort($port = 8080) {
echo "سرور روی پورت " . $port . " اجرا شد.";
}
setServerPort(3000); // خروجی: سرور روی پورت 3000 اجرا شد.
setServerPort(); // خروجی: سرور روی پورت 8080 اجرا شد.
۳. بازگرداندن مقادیر با دستور Return
توابع همیشه مستقیماً چیزی را چاپ نمیکنند؛ بلکه در اکثر مواقع محاسباتی را انجام داده و نتیجه را با استفاده از دستور return به محل فراخوانی بازمیگردانند.
function multiply($num1, $num2) {
$result = $num1 * $num2;
return $result;
}
$total = multiply(5, 6);
echo "حاصلضرب: " . $total; // خروجی: حاصلضرب: 30
۴. تعیین نوع دادهها (Type Hinting) در PHP 7 و 8
طبق استانداردهای مدرن برنامهنویسی و اصول توصیه شده گوگل، برای جلوگیری از باگهای غیرمنتظره باید نوع دادههای ورودی و خروجی تابع را به طور دقیق مشخص کنید.
declare(strict_types=1); // فعالسازی حالت سختگیرانه تایپها
function calculateArea(float $width, float $height): float {
return $width * $height;
}
try {
echo calculateArea(5.5, 4.0); // خروجی: 22
} catch (TypeError $e) {
echo "خطای نوع داده: " . $e--->getMessage();
}
۵. توابع داخلی (Built-in Functions) پرکاربرد در PHP
زبان PHP دارای هزاران تابع داخلی آماده است که کار توسعه را بسیار سریعتر میکنند. در ادامه چند دسته از پرکاربردترین آنها را بررسی میکنیم:
توابع کار با رشتهها (Strings)
strlen($str): محاسبه طول رشته.str_replace($search, $replace, $subject): جایگزینی کلمات در یک رشته.strtolower($str)وstrtoupper($str): تبدیل رشته به حروف کوچک یا بزرگ.
توابع کار با آرایهها (Arrays)
count($array): تعداد اعضای آرایه را برمیگرداند.array_merge($arr1, $arr2): ادغام دو یا چند آرایه با یکدیگر.in_array($needle, $haystack): بررسی وجود یک مقدار در آرایه.
۶. استانداردهای گوگل برای نوشتن توابع بهینه
بر اساس کدهای تمیز و استانداردهای گوگل، هنگام نوشتن توابع به موارد زیر دقت کنید:
- تکوظیفهای بودن (Single Responsibility): هر تابع فقط و فقط باید یک کار مشخص را انجام دهد.
- تعداد کم پارامترها: تلاش کنید تعداد پارامترهای یک تابع ترجیحاً کمتر از ۳ عدد باشد.
- نامگذاری توصیفی: نام تابع باید دقیقاً نشاندهنده کاری باشد که انجام میدهد (مثلاً بهجای
calc()ازcalculateTotalPrice()استفاده کنید).
پرسش و پاسخ
نظری یافت نشد
برای ارسال نظر ابتدا وارد شوید