آشنایی با توابع در PHP

PHP   
1 سپتامبر 2014   

توابع زمانی در برنامه استفاده می شود که می خواهیم کدهایی را که در قسمت دیگری از فایل ما نوشته شده است را صدا بزنیم و آن ها را اجرا کنیم. مزیت این عمل این است که اولا می توان از شلوغ شدن کدها جلوگیری کرد و نظمی را به کدهای خود بدهید؛ ثانیا خیلی از مواقع نیازاست که کدهایی را در قسمت های مختلف برنامه چندین بار به اجرا درآوریم و با استفاده از توابع یک تکه کد را تنها یک بار نوشته و آن را در قسمت های مختلف برنامه تنها با صدا زدن نام مخصوص به تابع، کدهای مربوط به آن را اجرا کنیم. یعنی کدهایی را در هرجا از صفحه اجرا کنیم.

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

چگونگی ساخت توابع در php

برای شروع تابع باید از کلمه ی کلیدی function و پس از آن نام دلخواه برایش نوشته شود. سپس در داخل پرانتز پارامترها را تعریف می کنیم (توابع می توانند هیچگونه پارامتری نداشته باشند اما باز هم باید پرانتز () را نوشت) و کدهای مربوطه به این تابع را درون آکولاد { } قرار می دهیم. شکل کلی آن به شکل زیر است:

 

نام توابع باید با یک حرف لاتین یا نشان _ شروع شود و نمی تواند یک رقم باشد.

به مثال زیر دقت کنید:

 

مثالی از کار با توابع در php

خروجی

همانطور که می بینید تابعی با نام دلخواه my_function تعریف شده که هیچ پارامتری ندارد (اما باز هم باید از پرانتز () استفاده شده است) و کار این تابع چاپ عبارت “Hello World” است.

برای اجرای کدهای مربوط به این تابع نام تابع به صورت زیر صدا زده شده است:

 

حالا مثالی را بررسی می کنیم که دارای پارامتری است. این تابع سن فرد را دریافت و آن را چاپ می کند. این مثال به شکل زیر است:

 

خروجی:

مثالی ساده از استفاده توابع در صفحات php

خروجی

تابع تعریف شده my_age() پارامتری را به عنوان سن دریافت می کند و عبارتی متناسب همراه با سن چاپ می کند. همانطور که می بینید ما این تابع را سه بار با سه مقدار مختلف برای پارامتر age فراخوانی کردیم که شامل سه خروجی می باشد.

می توان این مثال را با چند پارامتر نیز به صورت زیر گسترش داد:

 

خروجی:

مثالی از استفاده توابع در صفحات وب

خروجی

پارامتر های مختلف را با علامت کاما ( , ) از یکدیگر جدا می کنیم. این تابع برای چاپ مشخصات فرد استفاده می شود.

محدوده ی متغیرها و پارامترها در توابع

متغیرهایی که به شکل پارامتر در توابع تعریف می شوند در بیرون از تابع شناخته نمی شوند. این عمل برای متغیرهایی که درون توابع تعریف می شوند نیز صادق است. به مثال زیر توجه کنید:

 

خروجی:

مثالی از استفاده توابع در صفحات php

خروجی

همانطور که می بینید متغیر name که در داخل تابع my_function() تعریف شده است در بیرون از آن شناخته نمی شود و در صورت استفاده خطایی مانند بالا نمایش داده خواهد شد.

استفاده از return

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

 

خروجی:

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

خروجی

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