آموزش رایگان 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).

پیشنمایش

پرسش و پاسخ

نظری یافت نشد

مطالب مشابه

آموزش کار با Webpack و Bundlers برای مدیریت پروژه‌ها: راهنمای جامع و کاربردی
1403/08/05 20:43

آموزش کار با Webpack و Bundlers برای مدیریت پروژه‌ها: راهنمای جامع و کاربردی

مطالعه بیشتر
آموزش جامع ساخت فرم ورود کاربر در PHP (براساس استانداردهای گوگل و امنیت بالا)
1405/05/14 22:03

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

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

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

مطالعه بیشتر
آموزش صفر تا صد ساخت ماشین حساب با جاوا اسکریپت (پروژه محور و کاربردی)
1405/03/13 23:55

آموزش صفر تا صد ساخت ماشین حساب با جاوا اسکریپت (پروژه محور و کاربردی)

مطالعه بیشتر
آموزش کامل و امن آپلود فایل در PHP (مطابق استاندارد گوگل)
1405/05/01 20:17

آموزش کامل و امن آپلود فایل در PHP (مطابق استاندارد گوگل)

مطالعه بیشتر
آموزش کامل و اصولی اتصال PHP به پایگاه داده MySQL (به روش PDO و MySQLi)
1405/05/04 23:34

آموزش کامل و اصولی اتصال PHP به پایگاه داده MySQL (به روش PDO و MySQLi)

مطالعه بیشتر
مدیریت رویدادها در جاوا اسکریپت: اضافه و حذف Event Listeners - آموزش جامع با مثال‌ها
1403/08/02 21:31

مدیریت رویدادها در جاوا اسکریپت: اضافه و حذف Event Listeners - آموزش جامع با مثال‌ها

مطالعه بیشتر
مقایسه کامل و جامع MySQLi و PDO در PHP: کدام یک برای پروژه شما مناسب‌تر است؟
1405/05/04 23:45

مقایسه کامل و جامع MySQLi و PDO در PHP: کدام یک برای پروژه شما مناسب‌تر است؟

مطالعه بیشتر
مدیریت ترتیب نمایش با z-index در CSS: آموزش کامل و کاربردی
1403/08/11 21:28

مدیریت ترتیب نمایش با z-index در CSS: آموزش کامل و کاربردی

مطالعه بیشتر
آموزش جامع و اصولی جستجو در دیتابیس با PHP و MySQL (مطابق استانداردهای گوگل)
1405/05/13 21:26

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

مطالعه بیشتر
نصب Node.js و Create React App: شروع پروژه‌های React.js به‌صورت آسان
1402/06/28 01:09

نصب Node.js و Create React App: شروع پروژه‌های React.js به‌صورت آسان

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

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

مطالعه بیشتر

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