ورود / ثبت نام سبد خرید 0
تعریف و استفاده از توابع در زبان php مشابه سایر زبان های برنامه نویسی است. یک تابع بخشی از کدها میباشد که یک یا چند ورودی بصورت اختیاری دریافت میکند و یک سری عملیات داخل آن تابع انجام میگیرد و بصورت اختیاری ممکن است خروجی داشته باشد.
در دروس قبلی ، در مورد استفاده از بعضی توابع php مثل fopen و fread و ... صحبت کردیم . این ها توابعی هستند که درون php تعریف شده اند و کارهای خاصی را برای راحتی کار برنامه نویس انجام میدهند ولی شما خودتان هم میتوانید توابع مخصوص خودتان را ایجاد کنید و استفاده کنید .
در زبان php خیلی راحت میتوانید یک تابع جدید ایجاد کنید . برای مثال ما اگر بخواهیم یک تابع ساده ایجاد کنیم که فقط یک متنی را نمایش دهد یک تابع با نام writeMessage در مثال زیر ایجاد میکنیم که این کار را نشان دهیم .
نکته : توجه کنید که هنگام تعریف یک تابع جدید ابتدا باید کلمه ی کلیدی function را در ابتدای آن بنویسید بعد از نام تابع () و سپس {} قرار دهید .
مثال :
<html> <head> <title>Writing PHP Function</title> </head> <body> <?php /* Defining a PHP Function */ function writeMessage() { echo "You are really a nice person, Have a nice time!"; } /* Calling a PHP Function */ writeMessage(); ?> </body> </html>
نتیجه ی کدهای بالا :
You are really a nice person, Have a nice time!
در زبان php شما میتوانید برای توابع خود ورودی تعریف کنید که به آنها پارامترهای ورودی گفته میشود . هر پارامتری که برای یک تابع تعریف میشود بعنوان یک متغیر درون یک تابع قابل استفاده است .
ذر مثال زیر تابعی ایجاد کردیم که دو عدد پارامتر را دریافت میکند و آنها را جمع کرده و سپس نمایش میدهد :
<html> <head> <title>Writing PHP Function with Parameters</title> </head> <body> <?php function addFunction($num1, $num2) { $sum = $num1 + $num2; echo "Sum of the two numbers is : $sum"; } addFunction(10, 20); ?> </body> </html>
Sum of the two numbers is : 30
در زبان برنامه نویسی php شما میتوانید آرگومان ها را به یک تابع بعنوان منبع ارسال کنید. به این معنی که شما مقدار یک متغیر را به یک تابع ارسال میکنید بدون اینکه دخالتی در مقدار اصلی آن متغیر ایجاد شود و آنجا فقط یک کپی از آن دریافت میشود .
<html> <head> <title>Passing Argument by Reference</title> </head> <body> <?php function addFive($num) { $num += 5; } function addSix(&$num) { $num += 6; } $orignum = 10; addFive( $orignum ); echo "Original Value is $orignum<br />"; addSix( $orignum ); echo "Original Value is $orignum<br />"; ?> </body> </html>
خروجی مثال :
Original Value is 10 Original Value is 16
یک تابع میتواند با دستور return یک چیزی را برگرداند و چیزی که برگردانده شد خروجی یک تابع یا مقدار بازگشتی آن نامیده میشود .
return باعث میشود که اجرای بقیه کدهای تابع متوقف شود و یک مقداری را بعنوان خروجی تابع ارسال میکند .
مقادیر خروجی میتواند تنها یک مقدار نباشد و میتواند یک آرایه نیز بعنوان خروجی در نظر گرفته شود مثل return array(1,2,3,4) .
در مثال زیر تابع دو عدد میگیرد و جمع آنها را return میکند و سپس مقدار return شده را میتوانیم استفاده کنیم .
<html> <head> <title>Writing PHP Function which returns value</title> </head> <body> <?php function addFunction($num1, $num2) { $sum = $num1 + $num2; return $sum; } $return_value = addFunction(10, 20); echo "Returned value from the function : $return_value"; ?> </body> </html>
خروجی مثال بالا :
Returned value from the function : 30
ما میتوانیم برای پارامترهای ورودی یک تابع در php مقادیر پیشفرض در نظر بگیریم . این مقادیر پیشفرض زمانی استفاده میشود که به هر دلیلی پارامتر به تابع ارسال نشود . تابع در این زمان ، مقادیر پیشفرض را در نظر میگیرید .
<html> <head> <title>Writing PHP Function which returns value</title> </head> <body> <?php function printMe($param = 'you must pass a value to me ! ') { print $param; } printMe("This is test <br/>"); printMe(); ?> </body> </html>
خروجی :
This is test you must pass a value to me !
در مثال بالا دقت کنید که اگر $param خالی باشد یعنی هیچ چیز به آن اختصاص ندهیم متن you must pass a value to me ! چاپ میشود .
در php این امکان وجود دارد که نام یک تابع را بصورت یک رشته به یک متغیر دیگر اختصاص دهیم و آن متغیر را بصورت یک تابع صدا بزنیم .
دقیقا مثل همان کاری است که خود تابع را صدا میزدیم برای روشن شدن مطلب باید مثال زیر را ببینید :
<html> <head> <title>Dynamic Function Calls</title> </head> <body> <?php function sayHello() { echo "Hello<br />"; } $function_holder = "sayHello"; $function_holder(); ?> </body> </html>
Hello
بعد از یادگیری زبان برنامه نویسی php بهتر است دنبال آموزش PHP MVC بروید چون mvc یک بحث بسیار مهم در یادگیری حرفه ای زبان برنامه نویسی php است.
اتمام درس
محصولات برگزیده مناسب شما