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

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

16م تیر 1405 محراب حسن زاده
آموزش جامع پارامترها و مقادیر بازگشتی در 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).

پیشنمایش

پرسش و پاسخ

نظری یافت نشد

مطالب مشابه

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

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

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

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

مطالعه بیشتر
راهنمای جامع نصب و پیکربندی محیط توسعه محلی (XAMPP، WAMP و Laragon)
14م خرداد 1405

راهنمای جامع نصب و پیکربندی محیط توسعه محلی (XAMPP، WAMP و Laragon)

مطالعه بیشتر
آموزش کامل کار با آرایه‌ها و اشیاء در جاوا اسکریپت: ایجاد، دستکاری و پیمایش
2م شهریور 1403

آموزش کامل کار با آرایه‌ها و اشیاء در جاوا اسکریپت: ایجاد، دستکاری و پیمایش

مطالعه بیشتر
آموزش Directive‌ های Vue.js | استفاده از v-model، v-bind و v-show با مثال
23م آذر 1404

آموزش Directive‌ های Vue.js | استفاده از v-model، v-bind و v-show با مثال

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

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

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

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

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

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

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

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

مطالعه بیشتر
آموزش کامل عملگرهای منطقی در PHP (همراه با تفاوت‌های کلیدی)
3م تیر 1405

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

مطالعه بیشتر
مفاهیم پیشرفته اشیاء در جاوا اسکریپت: مدیریت خصوصیات و متدها
4م مهر 1403

مفاهیم پیشرفته اشیاء در جاوا اسکریپت: مدیریت خصوصیات و متدها

مطالعه بیشتر
آموزش کامنت‌ها و کاراکترهای خاص در HTML و CSS: نحوه استفاده و مدیریت
23م مرداد 1402

آموزش کامنت‌ها و کاراکترهای خاص در HTML و CSS: نحوه استفاده و مدیریت

مطالعه بیشتر

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