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

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

1405/08/03 23:49 محراب حسن زاده
آموزش جامع توابع در PHP: راهنمای کامل ساخت توابع سفارشی و استفاده از توابع داخلی

توابع در PHP چیستند و چرا به آن‌ها نیاز داریم؟

در دنیای برنامه‌نویسی، تکرار کد یکی از بزرگ‌ترین دشمنان توسعه‌دهنده است. قانون معروف DRY (Don't Repeat Yourself) به ما می‌گوید که نباید قطعه کدهای تکراری را در بخش‌های مختلف برنامه خود کپی کنیم. راهکار حل این مشکل در PHP، استفاده از توابع (Functions) است.

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

۱. نحوه تعریف یک تابع سفارشی (Custom Function) در PHP

برای تعریف یک تابع شخصی در PHP، از کلمه کلیدی function استفاده می‌شود. پس از آن نام تابع و پرانتزها قرار می‌گیرند. نام تابع باید با یک حرف یا خط تیره (_) شروع شود و به حروف بزرگ و کوچک حساس نیست (اما طبق استاندارد بهتر است از camelCase یا snake_case استفاده کنید).


// تعریف یک تابع ساده
function sayWelcome() {
    echo "به آکادمی توسعه وب خوش آمدید!";
}

// فراخوانی تابع
sayWelcome();

۲. ارسال پارامترها و آرگومان‌ها به تابع

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


// تابع با یک پارامتر ورودی
function greetUser($username) {
    echo "سلام " . $username . " عزیز!";
}

// فراخوانی با آرگومان‌های مختلف
greetUser("امیر");
greetUser("سارا");

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

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


function setServerPort($port = 8080) {
    echo "سرور روی پورت " . $port . " اجرا شد.";
}

setServerPort(3000); // خروجی: سرور روی پورت 3000 اجرا شد.
setServerPort();     // خروجی: سرور روی پورت 8080 اجرا شد.

۳. بازگرداندن مقادیر با دستور Return

توابع همیشه مستقیماً چیزی را چاپ نمی‌کنند؛ بلکه در اکثر مواقع محاسباتی را انجام داده و نتیجه را با استفاده از دستور return به محل فراخوانی بازمی‌گردانند.


function multiply($num1, $num2) {
    $result = $num1 * $num2;
    return $result;
}

$total = multiply(5, 6);
echo "حاصل‌ضرب: " . $total; // خروجی: حاصل‌ضرب: 30

۴. تعیین نوع داده‌ها (Type Hinting) در PHP 7 و 8

طبق استانداردهای مدرن برنامه‌نویسی و اصول توصیه شده گوگل، برای جلوگیری از باگ‌های غیرمنتظره باید نوع داده‌های ورودی و خروجی تابع را به طور دقیق مشخص کنید.



declare(strict_types=1); // فعال‌سازی حالت سخت‌گیرانه تایپ‌ها

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

try {
    echo calculateArea(5.5, 4.0); // خروجی: 22
} catch (TypeError $e) {
    echo "خطای نوع داده: " . $e--->getMessage();
}

۵. توابع داخلی (Built-in Functions) پرکاربرد در PHP

زبان PHP دارای هزاران تابع داخلی آماده است که کار توسعه را بسیار سریع‌تر می‌کنند. در ادامه چند دسته از پرکاربردترین آن‌ها را بررسی می‌کنیم:

توابع کار با رشته‌ها (Strings)

  • strlen($str): محاسبه طول رشته.
  • str_replace($search, $replace, $subject): جایگزینی کلمات در یک رشته.
  • strtolower($str) و strtoupper($str): تبدیل رشته به حروف کوچک یا بزرگ.

توابع کار با آرایه‌ها (Arrays)

  • count($array): تعداد اعضای آرایه را برمی‌گرداند.
  • array_merge($arr1, $arr2): ادغام دو یا چند آرایه با یکدیگر.
  • in_array($needle, $haystack): بررسی وجود یک مقدار در آرایه.

۶. استانداردهای گوگل برای نوشتن توابع بهینه

بر اساس کدهای تمیز و استانداردهای گوگل، هنگام نوشتن توابع به موارد زیر دقت کنید:

  1. تک‌وظیفه‌ای بودن (Single Responsibility): هر تابع فقط و فقط باید یک کار مشخص را انجام دهد.
  2. تعداد کم پارامترها: تلاش کنید تعداد پارامترهای یک تابع ترجیحاً کمتر از ۳ عدد باشد.
  3. نام‌گذاری توصیفی: نام تابع باید دقیقاً نشان‌دهنده کاری باشد که انجام می‌دهد (مثلاً به‌جای calc() از calculateTotalPrice() استفاده کنید).

پیشنمایش

پرسش و پاسخ

نظری یافت نشد

مطالب مشابه

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

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

مطالعه بیشتر
آموزش مدیریت Box Model و ترکیب اجزای آن با CSS: کنترل دقیق فاصله‌ها و ابعاد عناصر
1402/06/05 23:30

آموزش مدیریت Box Model و ترکیب اجزای آن با CSS: کنترل دقیق فاصله‌ها و ابعاد عناصر

مطالعه بیشتر
آموزش ساخت معماری MVC (Model-View-Controller) در PHP به روش اصولی
1405/08/02 15:31

آموزش ساخت معماری MVC (Model-View-Controller) در PHP به روش اصولی

مطالعه بیشتر
معرفی Vue.js و ویژگی‌های کلیدی آن: فریمورک مدرن برای توسعه وب تعاملی
1402/06/28 00:33

معرفی Vue.js و ویژگی‌های کلیدی آن: فریمورک مدرن برای توسعه وب تعاملی

مطالعه بیشتر
آموزش کامل استفاده از float، clear، text و font در CSS برای طراحی وب: راهنمای جامع
1402/06/06 23:51

آموزش کامل استفاده از float، clear، text و font در CSS برای طراحی وب: راهنمای جامع

مطالعه بیشتر
آموزش جامع جلوگیری از حملات XSS در PHP بر اساس استانداردهای گوگل
1405/08/03 23:37

آموزش جامع جلوگیری از حملات XSS در PHP بر اساس استانداردهای گوگل

مطالعه بیشتر
درک و استفاده از Watchers در Vue.js | آموزش Watch با مثال کاربردی
1404/09/28 22:00

درک و استفاده از Watchers در Vue.js | آموزش Watch با مثال کاربردی

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

عملگرها و عبارات محاسباتی در جاوا اسکریپت: نحوه استفاده و کاربردهای مختلف

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

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

مطالعه بیشتر
آموزش کامل ارسال ایمیل با PHP بر اساس استانداردهای جدید گوگل (2024)
1405/08/02 15:38

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

مطالعه بیشتر
آموزش اضافه کردن ویدئو و صدا به وب‌سایت: نحوه استفاده از تگ‌های video و audio در HTML
1402/05/23 23:10

آموزش اضافه کردن ویدئو و صدا به وب‌سایت: نحوه استفاده از تگ‌های video و audio در HTML

مطالعه بیشتر
آموزش ساختار استاندارد و بهینه پروژه PHP به سبک گوگل
1405/05/04 23:25

آموزش ساختار استاندارد و بهینه پروژه PHP به سبک گوگل

مطالعه بیشتر

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