آموزش رایگان 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).
  • کوتاه نگه‌داشتن توابع: از نوشتن توابع طولانی خودداری کنید. اگر تعداد خطوط یک تابع از ۲۰ الی ۳۰ خط بیشتر شد، آن را به توابع کوچک‌تر تقسیم کنید.

پیشنمایش

پرسش و پاسخ

نظری یافت نشد

مطالب مشابه

مفاهیم پیشرفته در کلاس‌ها و وراثت (Super, Extends) در جاوا اسکریپت: راهنمای کامل و مثال‌ها
29م مهر 1403

مفاهیم پیشرفته در کلاس‌ها و وراثت (Super, Extends) در جاوا اسکریپت: راهنمای کامل و مثال‌ها

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

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

مطالعه بیشتر
استفاده از font face در CSS برای اضافه کردن فونت‌های سفارشی: راهنمای کامل
16م آبان 1403

استفاده از font face در CSS برای اضافه کردن فونت‌های سفارشی: راهنمای کامل

مطالعه بیشتر
آموزش جامع توابع بازگشتی (Recursion) و کاربردهای آن در جاوا اسکریپت: مثال‌ها و مفاهیم
29م مهر 1403

آموزش جامع توابع بازگشتی (Recursion) و کاربردهای آن در جاوا اسکریپت: مثال‌ها و مفاهیم

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

Async/Await: نوشتن کدهای خواناتر و ناهم‌زمان در جاوا اسکریپت - آموزش کامل با مثال‌ها

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

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

مطالعه بیشتر
کار با فیلترهای CSS: آموزش استفاده از blur، brightness و contrast برای افکت‌های تصویری جذاب
11م آبان 1403

کار با فیلترهای CSS: آموزش استفاده از blur، brightness و contrast برای افکت‌های تصویری جذاب

مطالعه بیشتر
مدیریت خطاها و استفاده از try...catch در جاوا اسکریپت: راهنمای کامل و مثال‌ها
28م مهر 1403

مدیریت خطاها و استفاده از try...catch در جاوا اسکریپت: راهنمای کامل و مثال‌ها

مطالعه بیشتر
آموزش کامل حلقه foreach در PHP برای پیمایش آرایه‌ها (به زبان ساده)
4م تیر 1405

آموزش کامل حلقه foreach در PHP برای پیمایش آرایه‌ها (به زبان ساده)

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

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

مطالعه بیشتر
آموزش CSS Transform و Transition: تبدیل‌ها و ایجاد تغییرات ظاهری پویا
10م شهریور 1402

آموزش CSS Transform و Transition: تبدیل‌ها و ایجاد تغییرات ظاهری پویا

مطالعه بیشتر
مقدمه‌ای به رویدادها و دستورات در Vue.js: نحوه مدیریت و استفاده از v-on
28م شهریور 1402

مقدمه‌ای به رویدادها و دستورات در Vue.js: نحوه مدیریت و استفاده از v-on

مطالعه بیشتر

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