120


'

همه چیز درباره توابع در php


functions '
'


تابع چیست؟

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

توابع به یک زبان برنامه نویسی معنا می بخشند و دلیل اصلی اجرای کدهای ما هستند. توابع می توانند پروژه های ما را اجرا کرده و باعث اجرای یک چیز و یا یک کار می شوند.

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

print

print یک تابع مانند echo است که دقیقا همین کار را انجام می دهد، اما سرعت کمتری دارد و استفاده از echo توصیه می شود. استفاده از این تابع نیز مانند echo است، به این صورت که پس از نوشتن نام تابع می توانید مقداری که می خواهید چاپ شود را بین () بنویسید تا چاپ شود.

strlen

تابع strlen طول یک رشته را چاپ می کند، به این صورت که یک رشته را به عنوان ورودی پذیرفته و سپس طول آن را خروجی می دهد. (تنها رشته ها را به عنوان ورودی می پذیرد)

str_word_count

این تابع نیز یک رشته را به عنوان ورودی می پذیرد و تعداد کلمات آن را بر می گرداند.

strrev

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

pi

ورودی ای را نمی پذیرد و تنها مقدار عدد پی را بر می گرداند.

sqrt

sqrt یک تابع ریاضی دیگر است که جذر یک عدد را بر می گرداند. (ورودی این تابع تنها یک عدد است)

ساختار توابع

توابع در دنیای کدنویسی و در همه زبان های برنامه نویسی تقریبا ساختاری مشترک دارند و همه آنها از نام، ورودی، کد برای اجرا و خروجی تشکیل شده اند. هر تابع در php می تواند 0، 1 و یا هر تعداد دیگر ورودی و یا خروجی داشته باشد، مانند تابع print که یک ورودی را می پذیرد. توابع خروجی نیز دارند که این هم می تواند هر تعدادی باشد، مانند pi که یک خروجی دارد.

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

functions_in_php

تعریف توابع در php

یکی از مشکلاتی که ممکن است در هنگام کدنویسی با آن آشنا شویم، کدهای اسپاگتی است. کد اسپاگتی یعنی کدی که مانند رشته های اسپاگتی به هم پیچیده شود، یعنی کد بسیار به هم ریخته که دیباگ کردن و یا عوض کردن آن، بسیار سخت و زمان بر باشد. یکی از راه های بسیار موثر برای حل این مشکل، تعریف توابع است. در برخی پروژه ها نیاز است تا ما مدام یک کد تکراری را اجرا کنیم، کدی که ممکن است متغیر هایی در آن متفاوت باشند، پس برای تکراری ننوشتن، می توانیم یک تابع تعریف کنیم.

تعریف یک تابع یعنی اینکه برای مثال یک تابع با نام test مشخص کنیم که کد پرینت کردن hello را اجرا می کند. حالا پس از تعریف این تابع، هرجا test را فراخوانی کنیم، hello چاپ می شود.

define_functions_in_php

برای تعریف یک تابع، از کلمه کلیدی function استفاده می کنیم. اگر به تصویر بالا توجه کنید، متوجه می شوید که پس از این کلمه کلیدی، باید نام تابع و سپس () را بنویسیم. (می توانیم بین () ورودی ها را مشخص کنیم) سپس از آکولاد استفاده می کنیم و در بین آن کدی که می خواهیم اجرا شود را مشخص می کنیم، حالا می توانیم مانند توابع دیگر مثل print و echo نام تابع ساخته شده را بنویسیم تا کد آن اجرا شود.

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

defind_function_in_php_2

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

define_function_in_php_3

توابع چه کاربرد هایی دارند؟

کاربرد توابع در دنیای برنامه نویسی بسیار گسترده و زیاد است و می توانند کارهای زیادی را برای ما انجام دهند. به طور کلی تمام کارهایی که می خواهیم در یک پروژه انجام دهیم، با استفاده از توابع پیشفرض (built-in) خود زبان برنامه نویسی انجام می شوند. توابعی که خود ما تعریف می کنیم نیز برای جلوگیری از پیچیده شدن کد و یا اجرای برخی الگوریتم ها کاربرد دارند، اما به طور کلی هرجا که بخواهیم یک کار انجام دهیم، می توانیم از توابع استفاده کنیم.

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

'