بخش چهارم: توابع در PHP

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

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

مثال:

<?php
function writeMsg() {
    echo "Hello world!";
}

writeMsg(); // call the function
?> 

در مثال فوق، تابعی با نام writeMsg  تعریف شده است که هیچ پارامتر ورودی ندارد و تنها عبارت Hello world! را نمایش می دهد. در زبان PHP، با استفاده از اعلان نام تابع به همراه پرانتز باز و بسته، می توان توابع مختلف را فراخواند. در کد فوق، پس از پایان تعریف تابع، توسط فراخوانی آن با دستور writeMsg(); این تابع صدا زده شده و عبارت Hello world! به نمایش در می آید.

نکته: نام توابع با حروف و _ می تواند آغاز شود و به حروف بزرگ و کوچک حساس نیستند.

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

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

مثال:

<?php
function MyBio ($fname, $year) {
    echo "My name is $fname and I was born in $year <br>";
}

MyBio("Hege", "1975");
MyBio("Stale", "1978");
MyBio("Kai Jim", "1983");
?> 

در این مثال، دو متغیر نام ($fname) و سال تولد ($year) به عنوان پارامترهای ورودی در هر فراخوانی تابع اعلام می شوند و با جاگذاری نام و سال تولد در عبارت خروجی My name is … ، عبارت مورد نظر به نمایش در می آید. خروجی کد فوق به صورت زیر است:

My name is Hege and I was born in 1975

My name is Stale and I was born in 1978

My name is Kai Jim and I was born in 1983

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

مثال:

<?php
function setHeight($minheight = 50) {
    echo "The height is : $minheight <br>";
}

setHeight(350);
setHeight(); // will use the default value of 50

?> 

در مثال فوق، مقدار پیش فرض برای آرگومان $minheight برابر 50 در نظر گرفته شده است. بنابراین در فراخوانی دوم تابع setHeight که دارای آرگومان ورودی نیست، مقدار 50 برای متغیر $minheight استفاده می شود. خروجی کد فوق به صورت زیر است:

The height is : 350

The height is : 50

بازگشت مقادیر در توابع

در تعریف توابع مختلف می توان تعیین کرد که تابع در پایان اجرای خود مقادیری را به عنوان خروجی برگرداند. بدین منظور باید از عبارت return پیش از متغیر یا مقدار خروجی استفاده نمود.

مثال:

<?php
function sum($x, $y) {
    $z = $x + $y;
    return $z;
}

echo "5 + 10 = " . sum(5, 10) . "<br>";

?> 

در مثال فوق، با فراخوانی تابع sum، حاصل جمع دو آرگومان ورودی در $z قرار می گیرد و این متغیر به عنوان خروجی تابع sum برگشت داده می شود.

پست های مرتبط

Leave a Comment