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

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

1405/04/16 01:02 محراب حسن زاده
آموزش کامل توابع در 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 (براساس استانداردهای گوگل و امنیت بالا)
1405/05/14 22:03

آموزش جامع ساخت فرم ورود کاربر در PHP (براساس استانداردهای گوگل و امنیت بالا)

مطالعه بیشتر
مدیریت خطاها در Async/Await و Promises در جاوا اسکریپت: راهنمای کامل با مثال‌های عملی
1403/07/30 20:59

مدیریت خطاها در Async/Await و Promises در جاوا اسکریپت: راهنمای کامل با مثال‌های عملی

مطالعه بیشتر
آموزش کامل کنترل جریان و استفاده از if و else در جاوا اسکریپت: راهنمای جامع برای مبتدیان
1402/11/02 23:02

آموزش کامل کنترل جریان و استفاده از if و else در جاوا اسکریپت: راهنمای جامع برای مبتدیان

مطالعه بیشتر
آموزش گام به گام طراحی مگا منو (Mega Menu) مدرن با CSS و HTML
1405/03/13 23:44

آموزش گام به گام طراحی مگا منو (Mega Menu) مدرن با CSS و HTML

مطالعه بیشتر
آموزش سیر تا پیاز تاریخ و زمان در PHP (استاندارد گوگل)
1405/04/27 21:58

آموزش سیر تا پیاز تاریخ و زمان در PHP (استاندارد گوگل)

مطالعه بیشتر
آموزش ساخت یک برنامه ساده با Fetch API در جاوا اسکریپت: راهنمای گام به گام
1403/08/01 20:16

آموزش ساخت یک برنامه ساده با Fetch API در جاوا اسکریپت: راهنمای گام به گام

مطالعه بیشتر
تنظیم عرض و ارتفاع عناصر در CSS: استفاده از width، height، max و min برای کنترل دقیق اندازه‌ها
1403/08/09 21:08

تنظیم عرض و ارتفاع عناصر در CSS: استفاده از width، height، max و min برای کنترل دقیق اندازه‌ها

مطالعه بیشتر
آموزش جامع کوکی (Cookie) در PHP + مدیریت اصولی و امنیت آن بر اساس استاندارد گوگل
1405/05/01 20:10

آموزش جامع کوکی (Cookie) در PHP + مدیریت اصولی و امنیت آن بر اساس استاندارد گوگل

مطالعه بیشتر
آموزش کامل ساخت و افزودن تقویم فارسی به Input (کامل و استاندارد)
1405/03/14 00:07

آموزش کامل ساخت و افزودن تقویم فارسی به Input (کامل و استاندارد)

مطالعه بیشتر
الگوهای رایج برنامه‌نویسی ناهمگام در جاوا اسکریپت: Promise.race، Promise.all، و Promise.any کامل و مثال‌ها
1403/08/01 19:08

الگوهای رایج برنامه‌نویسی ناهمگام در جاوا اسکریپت: Promise.race، Promise.all، و Promise.any کامل و مثال‌ها

مطالعه بیشتر
آموزش لیست‌ها در CSS: طراحی و استایل‌دهی ساده برای لیست‌های HTML
1402/06/10 17:47

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

مطالعه بیشتر
آموزش کامنت‌گذاری در PHP بر اساس استاندارد گوگل و Clean Code
1405/03/21 01:15

آموزش کامنت‌گذاری در PHP بر اساس استاندارد گوگل و Clean Code

مطالعه بیشتر

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