توابع در php و نحوه استفاده از آن

تاریخ: 12 فروردین 1400

توابع یکی از مهم ترین بخش های هر زبان برنامه نویسی می باشند.

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

توابع به ما کمک می کنند که کدهای تکراری را یکجا جمع کنیم. از کدهای نوشته شده در بخش های مختلف برنامه و یا حتی در برنامه های مختلف استفاده کنیم.

ساختار توابع در php

 
function foo($arg1, $arg2, ...) {
    echo "Test";
}

 

همانطور که مشاهده می کنید، برای تعریف تابع از کلمه کلیدی function استفاده می شود.

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

و در نهایت درون آکولاد، دستورات مربوط به این تابع را قرار می دهیم.

 

قوانین نام گذاری تابع

برای نامگذاری توابع، رعایت قوانین نامگذاری توابع در php الزامی است. این قوانین تقریبا مشابه قوانین نام متغیرها در php هستند.

  • نام تابع نمی تواند تکراری باشد.
  • نام تابع حتما با حرف یا undrescore شروع می شود.
  • از حرف دوم به بعد می تواند یکی از حروف a تا z و یا کاراکتر (_) باشد. (undrescore)
  • نام تابع نمی تواند حاوی space باشد.
  • نام تابع به حروف کوچک و بزرگ حساس نمی باشد. (case-insensitive)

 

آرگومان های تابع در php

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

آرگومان های تابع در php حکم ورودی های تابع را دارند. یعنی آن متغیرهایی که در درون پرانتز و جلوی نام تابع قرار می دهیم.

هر تابع می تواند یک یا چند آرگومان داشته باشد و هر آرگومان می تواند ضروری یا غیر ضروری باشد.

در مثال زیر ما یک تابع داریم که یک آرگومان دارد و آن را در عدد 3 ضرب کرده و بر می گرداند:


function threeMultiply( $x ) { 
    return $x*3; 
}

 

استفاده از تابع تعریف شده

تابع تا زمانی که فراخوانی نشود، اجرا نمی شود. برای فراخوانی تابع کافیست نام تابع را بنویسیم:

 
foo();

بهتر است قبل استفاده از تابع آن را تعریف کنیم ولی حتی می توانیم فراخوانی را قبل از تعریف تابع انجام دهیم.

سطح دسترسی توابع global می باشد و هر جای برنامه قابل استفاده هستند.

مثال: می خواهیم تابعی بنویسیم که بخش اعشار عدد را حذف کند و سپس یک مقدار به آن اضافه کند:

 
function intPlus($number) {
    return (int)$number+1;
}
echo intPlus(2.5);
//output: 3

 

در دستور بالا، یک تابع با نام intPlus تعریف کردیم که مقدار number را می گیرد.

درون تابع با استفاده از تابع int که کار تبدیل نوع متغیر به عدد یا integer را انجام می دهد استفاده کردیم و در ادامه یک مقدار به آن اضافه کردیم.

 

توابع ناشناخته یا Anonymous functions در php

اگر تابع ما نام نداشته باشد، یک تابع ناشناخته یا Anonymous function خواهد بود. توابع ناشناخته در php کاربردهای بسیاری دارند. مخصوصا زمانی که برای یک تابع دیگر قرار است callback ست کنیم یا قرار است یک تابع را به عنوان آرگومان به تابع دیگر پاس دهیم:

function first($callback) {
    return $callback();
}
echo first(function(){
    return 'Biawp.ir';
}); //output: Biawp.ir

مشاهده می کنید که ما تابع ناشناخته ای را به تابع first پاس دادیم

 

استفاده از تابع درون تابع

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

 
function intPlus($number) {
    return (int)$number+1;
}
function getResultPlus($number) {
    return intPlus($number)+1;
}
echo getResultPlus(2.5);
//output: 4

 

تعریف یک تابع درون تابع دیگر

ممکن است نیاز داشته باشیم، یک تابع را درون تابع دیگر تعریف کنیم. در اینصورت باید دقت کنیم که برای استفاده از تابع درونی، تابع بیرونی باید ابتدا فراخوانی شده باشد:

 
function first() {
    function second($number) {
        return $number;
    }
}
first();
echo second(2);
//output: 2

 

دیدگاهتان را بنویسید