آموزش رایگان PHP

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

16م تیر 1405 محراب حسن زاده
آموزش کامل توابع در PHP: از مقدماتی تا پیشرفته با استانداردهای گوگل

یکی از مفاهیم کلیدی و بسیار مهم در توسعه نرم‌افزار با زبان برنامه‌نویسی PHP، مفهوم توابع (Functions) است. توابع به شما این امکان را می‌دهند تا کدهای خود را به بخش‌های کوچک‌تر، مستقل و قابل استفاده مجدد (Reusable) تقسیم کنید. این کار نه تنها خوانایی کد شما را افزایش می‌دهد، بلکه فرآیند عیب‌یابی و توسعه پروژه‌های بزرگ را نیز به شدت ساده‌تر می‌کند.

تابع (Function) چیست؟

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

نحوه تعریف یک تابع ساده در PHP

برای تعریف یک تابع در PHP از کلمه کلیدی function استفاده می‌شود. ساختار کلی تعریف تابع به شکل زیر است:



function sayHello() {
    echo "سلام به دنیای PHP!";
}

// صدا زدن تابع
sayHello();

توابع دارای پارامتر و آرگومان

شما می‌توانید اطلاعاتی را به عنوان ورودی به تابع پاس دهید. این اطلاعات که درون پرانتز قرار می‌گیرند، پارامتر نامیده می‌شوند.


function greetUser($name) {
    echo "خوش آمدید، " . $name . "!";
}

// صدا زدن تابع با آرگومان‌های مختلف
greetUser("امیر");
greetUser("سارا");

پارامترهای پیش‌فرض (Default Arguments)

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


function setGreeting($name = "مهمان") {
    echo "سلام " . $name;
}

setGreeting(); // خروجی: سلام مهمان
setGreeting("رضا"); // خروجی: سلام رضا

مقدار بازگشتی توابع (Return Values)

یک تابع استاندارد معمولاً به جای چاپ مستقیم اطلاعات در بدنه خود، نتیجه را با استفاده از دستور return بازمی‌گرداند. این کار باعث انعطاف‌پذیری بالای کد می‌شود.



function sum($num1, $num2) {
    return $num1 + $num2;
}

$result = sum(15, 25);
echo "مجموع برابر است با: " . $result; // خروجی: 40

تعیین نوع ورودی و خروجی (Type Hinting) در PHP 8

طبق استانداردهای مدرن برنامه‌نویسی و اصول Clean Code گوگل، بهتر است نوع داده‌های ورودی و خروجی توابع را به طور دقیق مشخص کنیم. این کار از خطاهای ناخواسته در زمان اجرا جلوگیری می‌کند:



declare(strict_types=1);

function multiply(float $a, float $b): float {
    return $a * $b;
}

echo multiply(2.5, 4.0); // خروجی: 10

توابع ناشناس (Anonymous Functions) و Arrow Functions

در PHP می‌توان توابعی بدون نام تعریف کرد که به آن‌ها Closure نیز می‌گویند. همچنین از نسخه 7.4 به بعد، توابع کوتاه‌تری به نام Arrow Functions معرفی شدند که برای کارهای سریع و ساده فوق‌العاده هستند:



// تابع ناشناس
$double = function($x) {
    return $x * 2;
};
echo $double(5); // 10

// تابع پیکانی (Arrow Function)
$triple = fn($x) =--> $x * 3;
echo $triple(5); // 15

استانداردهای گوگل و PSR برای نوشتن توابع تمیز

  • قانون تک‌وظیفه‌ای (Single Responsibility): هر تابع باید فقط و فقط یک کار مشخص را انجام دهد.
  • نام‌گذاری استاندارد: نام توابع باید به صورت camelCase نوشته شده و نشان‌دهنده عملکرد دقیق آن باشد (مانند: calculateTotalPrice).
  • کوتاه نگه‌داشتن توابع: از نوشتن توابع طولانی خودداری کنید. اگر تعداد خطوط یک تابع از ۲۰ الی ۳۰ خط بیشتر شد، آن را به توابع کوچک‌تر تقسیم کنید.

پیشنمایش

پرسش و پاسخ

نظری یافت نشد

مطالب مشابه

آموزش کامل ثابت‌ها در PHP: تفاوت عمیق define و const طبق استانداردهای گوگل
24م خرداد 1405

آموزش کامل ثابت‌ها در PHP: تفاوت عمیق define و const طبق استانداردهای گوگل

مطالعه بیشتر
آموزش Event Handling و v-on در Vue.js | مدیریت رویدادها با مثال کاربردی
22م آذر 1404

آموزش Event Handling و v-on در Vue.js | مدیریت رویدادها با مثال کاربردی

مطالعه بیشتر
پیمایش اشیاء و آرایه‌ها در جاوا اسکریپت: راهنمای کامل برای Object.keys، Object.values، for...in و for...of
4م مهر 1403

پیمایش اشیاء و آرایه‌ها در جاوا اسکریپت: راهنمای کامل برای Object.keys، Object.values، for...in و for...of

مطالعه بیشتر
آشنایی با Inheritance در CSS: اصول وراثت و مدیریت استایل‌ها
12م آبان 1403

آشنایی با Inheritance در CSS: اصول وراثت و مدیریت استایل‌ها

مطالعه بیشتر
کار با border و تنظیمات آن در CSS: مدیریت زوایای گرد با border-radius
9م آبان 1403

کار با border و تنظیمات آن در CSS: مدیریت زوایای گرد با border-radius

مطالعه بیشتر
آموزش طراحی و استایل‌دهی جدول‌ها در CSS: راهنمای ساده و کاربردی
10م شهریور 1402

آموزش طراحی و استایل‌دهی جدول‌ها در CSS: راهنمای ساده و کاربردی

مطالعه بیشتر
عملگرها و عبارات محاسباتی در جاوا اسکریپت: نحوه استفاده و کاربردهای مختلف
28م شهریور 1402

عملگرها و عبارات محاسباتی در جاوا اسکریپت: نحوه استفاده و کاربردهای مختلف

مطالعه بیشتر
آموزش ایجاد یک پروژه ساده React: شروع کار و ساختاردهی کامپوننت‌ها
28م شهریور 1402

آموزش ایجاد یک پروژه ساده React: شروع کار و ساختاردهی کامپوننت‌ها

مطالعه بیشتر
آموزش اصول Web APIs و نحوه استفاده از آن‌ها در جاوا اسکریپت: راهنمای کامل با مثال‌ها
1م آبان 1403

آموزش اصول Web APIs و نحوه استفاده از آن‌ها در جاوا اسکریپت: راهنمای کامل با مثال‌ها

مطالعه بیشتر
آموزش ساختار کامپوننت در Vue.js (راهنمای کامل همراه مثال)
15م مرداد 1404

آموزش ساختار کامپوننت در Vue.js (راهنمای کامل همراه مثال)

مطالعه بیشتر
آموزش کامل استفاده از float، clear، text و font در CSS برای طراحی وب: راهنمای جامع
6م شهریور 1402

آموزش کامل استفاده از float، clear، text و font در CSS برای طراحی وب: راهنمای جامع

مطالعه بیشتر
چگونه یک فوتر چسبان در CSS بسازیم: آموزش ساخت فوتر ثابت و همیشگی
2م شهریور 1403

چگونه یک فوتر چسبان در CSS بسازیم: آموزش ساخت فوتر ثابت و همیشگی

مطالعه بیشتر

تمامی حقوق معتلق به ناشر سایت است و کپی از آن پیگرد قانونی دارد