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

آموزش جامع پارامترها و مقادیر بازگشتی در PHP (بر اساس استانداردهای مدرن)

1405/04/16 01:14 محراب حسن زاده
آموزش جامع پارامترها و مقادیر بازگشتی در PHP (بر اساس استانداردهای مدرن)

مقدمه‌ای بر توابع در PHP

توابع یکی از ارکان اصلی برنامه‌نویسی ساختاریافته و شیءگرا هستند. در زبان PHP، نوشتن توابع به ما کمک می‌کند تا از تکرار کدها جلوگیری کنیم و قابلیت نگهداری پروژه را افزایش دهیم. بر اساس راهنماهای سبک کدنویسی گوگل و استانداردهای مدرن PHP (مانند PSR-12)، تعریف دقیق ورودی‌ها (پارامترها) و خروجی‌ها (مقادیر بازگشتی) از اهمیت ویژه‌ای برخوردار است.

پارامترها و آرگومان‌ها در PHP چیستند؟

بسیاری از اوقات واژه‌های پارامتر (Parameter) و آرگومان (Argument) به جای یکدیگر استفاده می‌شوند، اما تفاوت ظریفی بین آن‌ها وجود دارد:

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

تعریف یک تابع ساده با پارامتر

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



function greet($name) {
    return "سلام " . $name . "!";
}

echo greet("علی"); // خروجی: سلام علی!

تعیین نوع داده پارامترها (Type Hinting)

در نسخه‌های جدید PHP (نسخه 7 به بالا)، شما می‌توانید نوع داده‌ای که یک پارامتر باید دریافت کند را مشخص کنید. این کار از ورود داده‌های ناخواسته و بروز خطاهای پیش‌بینی نشده جلوگیری می‌کند.



function calculateArea(float $width, float $height) {
    return $width * $height;
}

echo calculateArea(5.5, 10); // خروجی: 55

فعال‌سازی حالت سخت‌گیرانه (Strict Types)

به طور پیش‌فرض، PHP تلاش می‌کند انواع داده‌ها را به یکدیگر تبدیل کند (Coercion). برای مثال اگر رشته "5" را به تابعی که انتظار عدد صحیح دارد پاس دهید، PHP آن را به عدد 5 تبدیل می‌کند. برای جلوگیری از این رفتار و بالا بردن امنیت و دقت کد، باید دستور declare(strict_types=1); را در اولین خط فایل PHP خود قرار دهید:



declare(strict_types=1);

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

// این فراخوانی در حالت Strict خطا (TypeError) ایجاد می‌کند:
// echo sum(5, "10"); 

echo sum(5, 10); // بدون خطا اجرا می‌شود

مقادیر پیش‌فرض پارامترها (Default Parameters)

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



function makeCoffee(string $type = "اسپرسو") {
    return "یک فنجان " . $type . " آماده است.";
}

echo makeCoffee(); // خروجی: یک فنجان اسپرسو آماده است.
echo makeCoffee("کاپوچینو"); // خروجی: یک فنجان کاپوچینو آماده است.

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

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

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

در PHP مدرن می‌توانید نوع داده‌ای که تابع بازمی‌گرداند را بعد از پرانتز تعریف پارامترها و با استفاده از دو نقطه (:) مشخص کنید:



declare(strict_types=1);

function isEven(int $number): bool {
    return $number % 2 === 0;
}

var_dump(isEven(4)); // خروجی: bool(true)

مقادیر بازگشتی تهی و چندگانه (Nullable & Void)

نوع بازگشتی Void

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



function logMessage(string $message): void {
    echo "[LOG]: " . $message;
}

نوع بازگشتی قابل تهی (Nullable Types)

اگر پارامتر یا مقدار بازگشتی می‌تواند علاوه بر نوع مشخص شده، مقدار null نیز داشته باشد، قبل از نام نوع داده از علامت سوال (?) استفاده می‌کنیم:



function getUserNickname(?string $name): ?string {
    if ($name === null) {
        return null;
    }
    return "کاربر " . $name;
}

نتیجه‌گیری و بهترین شیوه‌ها (Best Practices)

با رعایت این نکات بر اساس استانداردهای برنامه‌نویسی گوگل و مستندات PHP، کدهای شما خواناتر، امن‌تر و خطایابی آن‌ها بسیار ساده‌تر خواهد بود:

  1. همیشه از declare(strict_types=1); استفاده کنید.
  2. برای تمامی پارامترها و مقادیر بازگشتی نوع داده (Type) مشخص کنید.
  3. پارامترهای دارای مقدار پیش‌فرض را در سمت راست (انتهای لیست) قرار دهید.
  4. نام توابع را به صورت camelCase بنویسید (مانند: calculateTotalAmount).

پیشنمایش

پرسش و پاسخ

نظری یافت نشد

مطالب مشابه

آموزش کامل include و require در PHP + تفاوت‌های کلیدی و کاربردی
1405/05/01 20:28

آموزش کامل include و require در PHP + تفاوت‌های کلیدی و کاربردی

مطالعه بیشتر
آموزش کامل توابع سازنده (Constructors) و پروتوتایپ‌ها (Prototypes) در جاوا اسکریپت: راهنمای جامع
1403/07/28 21:41

آموزش کامل توابع سازنده (Constructors) و پروتوتایپ‌ها (Prototypes) در جاوا اسکریپت: راهنمای جامع

مطالعه بیشتر
راهنمای کامل جداول HTML: آموزش ساخت و بهینه‌سازی سئو
1402/05/21 23:26

راهنمای کامل جداول HTML: آموزش ساخت و بهینه‌سازی سئو

مطالعه بیشتر
معرفی MySQL و phpMyAdmin: راهنمای جامع مدیریت پایگاه داده برای توسعه‌دهندگان وب
1405/05/04 23:32

معرفی MySQL و phpMyAdmin: راهنمای جامع مدیریت پایگاه داده برای توسعه‌دهندگان وب

مطالعه بیشتر
مفهوم متغیرها و انواع داده در جاوا اسکریپت: راهنمای جامع برای مبتدیان
1402/06/28 00:07

مفهوم متغیرها و انواع داده در جاوا اسکریپت: راهنمای جامع برای مبتدیان

مطالعه بیشتر
آموزش کار با Local Storage و Session Storage در جاوا اسکریپت: ذخیره‌سازی داده‌ها در مرورگر
1403/08/03 17:08

آموزش کار با Local Storage و Session Storage در جاوا اسکریپت: ذخیره‌سازی داده‌ها در مرورگر

مطالعه بیشتر
آموزش جامع توابع در جاوا اسکریپت: نحوه تعریف، فراخوانی و بازگشت مقادیر
1402/11/02 23:23

آموزش جامع توابع در جاوا اسکریپت: نحوه تعریف، فراخوانی و بازگشت مقادیر

مطالعه بیشتر
آموزش کامل دستورات شرطی در PHP: راهنمای جامع if، else و elseif
1405/04/04 00:05

آموزش کامل دستورات شرطی در PHP: راهنمای جامع if، else و elseif

مطالعه بیشتر
آموزش توسعه بازی‌های ساده با استفاده از جاوا اسکریپت و Canvas API: راهنمای گام به گام
1403/08/05 21:06

آموزش توسعه بازی‌های ساده با استفاده از جاوا اسکریپت و Canvas API: راهنمای گام به گام

مطالعه بیشتر
معرفی React.js و بررسی مزایای آن برای توسعه وب و اپلیکیشن
1402/06/28 00:59

معرفی React.js و بررسی مزایای آن برای توسعه وب و اپلیکیشن

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

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

مطالعه بیشتر
آموزش ساخت یک گالری تصویر با استفاده از جاوا اسکریپت: راهنمای گام به گام
1403/08/03 16:57

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

مطالعه بیشتر

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