60% تخفیف ویژه دوره تخصصی وردپرس به مدت محدود مشاهده دوره

تعریف function در php

تعریف فانکشن در php

 

تعریف function در php ، یکی از مباحثی است که در برنامه نویسی کاربرد زیادی دارد. تعریف تابع به برنامه نویس کمک می کند تا عملیات مورد نظر خود را به کوتاهترین روش کدنویسی کنند و هدف خود را به صورت بهینه پیاده سازی نمایند. در این ویدیو قصد داریم که روند تعریف function در php را به صورت کامل بررسی نماییم پس با ما همراه باشید.

 

function در php

function در php یکی از ملزومات کار برنامه نویسان محسوب می شود. توابع ساختارهایی از پیش تعریف شده هستند که با دریافت یک آرگومان یا مقدار ورودی، بر روی آن پردازش انجام داده و نتیجه پردازش را بعنوان خروجی برمی گردانند. می توان برای هر عملیات در برنامه یک تابع تعریف کرد و برای هر تکرار عملیات آن تابع را فراخوانی نمود. به کمک function در php حجم کدها کوتاهتر شده و همچنین خوانایی کد بالا میرود.

 

انواع توابع در php

انواع توابع در php براساس یک دسته بندی کلی به صورت زیر از یکدیگر تفکیک می شوند:

  1. توابع درونی (internal) یا توابع تعریف شده از قبل (predefined) : این توابع در مفسر php، موجودند و برای راحتی کار می توانیم از این توابع استفاده کنیم. در قسمت مربوط به توابع مهم در php و توابع ریاضی در php به معرفی برخی از مهم ترین این توابع پرداختیم. این توابع به همراه هسته بصورت خودکار نصب می شوند.
  2. توابع سفارشی (custom) یا تعریف شده بوسیله کاربر (user-defined) : این نوع توابع در php ، به صورت سفارشی در قالب بلاک های مجزا نوشته می شوند. معمولا زمانی از این توابع را تعریف می کنیم که یک عملیات مشابه چندین بار در برنامه تکرار شود.

در ادامه قصد داریم به بررسی نحوه تعریف تابع در php بپردازیم.

 

نوشتن فانکشن در php

نوشتن فانکشن در php قسمت اصلی کار تعریف تابع در php است. رعایت شیوه نگارش این توابع همچنین مقداردهی درست المانها، بسیار اهمیت دارد. در قطعه کد زیر شیوه نگارش یا همان syntax برای نوشتن فانکشن در php را ملاحظه می نمایید.

 

برای تعریف تابع در php باید از عبارت function در ابتدای دستور استفاده کنیم. در ادامه نام تابع و آرگومان ورودی آن را مشخص می کنیم. پس از آن بدنه اصلی تابع در {} قرار می گیرد و کدهای اصلی تابع داخل آن نوشته می شود. در نهایت با استفاده از دستور return حاصل تابع بازگردانده می شود.

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

 

return در php

return در php برای بازگشت مقدار خروجی تابع استفاده می شود. این خروجی می تواند یک مقدار یا یک آرایه باشد. همانطور که گفته شد استفاده از این دستور اختیاری است و در حالتهایی ممکن است که تابع مقدار خروجی نداشته باشد. یکی از حالتهایی که از return در php استفاده می شود، برای خروج از بدنه یک تابع است. در این حالت نیز دستور return مقدار خروجی را برنمی گرداند و صرفا برای خروج از تابع استفاده می شود. کد زیر نمونه ای از این نوع دستور return در php را نشان می دهد:

 

 

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

فراخوانی تابع در php به دو صورت مستقیم و با واسطه انجام می شود. در روش مستقیم می توانیم یک تابع را مستقیما بدون واسطه فراخوانی کنیم. کد زیر یک نمونه از این نوع فراخوانی را نشان می دهد.

 

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

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

در کد بالا متغیر my_var بعنوان واسطه برای اجرای تابع استفاده شده است.

 

 

توابع بازگشتی در php

اگر در دروس دانشگاهی یا دبیرستان ریاضی خوانده باشید با توابع بازگشتی به خوبی آشنایی دارید. توابع بازگشتی یکی از انواع توابع در تعریف تابع در php است. یک تابع بازگشتی تابعی است که چندین مرحله خودش را فراخوانی می کند. به طور دقیقتر یک تابع بازگشتی در عملیات داخل خود تابع قراخوانی می شود. یکی از معروفترین توابع بازگشتی تابع فاکتوریل است. فاکتوریل یک عدد حاصلضرب عدد با تمامی اعداد قبل از خودش تا صفر است. مثلا فاکتوریل عدد ۵ به این صورت محاسبه می شود:

۱*۲*۳*۴*۵=!۵

این تابع را در php به این صورت می نویسیم:

 

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

 

یکی از کاربردهای اصلی تابع بازگشتی در php برای ساخت منوهاست. منوها در طراحی سایت یک قسمت اصلی محسوب می شوند. اگر به منوی سایت ها توجه کرده باشید در برخی موارد به صورت تودرتو هستند. در این جالت می توان با کمک توابع بازگشتی این منوها را طراحی کرد.

 

 

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

آرگومان های تعریف تابع در php ، انواع مختلف داده ای را شامل می شوند. این آرگومان ها به هر تعدادی بسته به تعریف تابع می توانند استفاده استفاده شوند. در هنگام تعریف و فراخوانی تابع این آرگومان ها براساس هدف تابع به دو صورت فراخوانده می شوند:

فراخوانی با مقدار (call by value) : در این روش هنگام فراخوانی تابع در php ، مولفه های تابع بصورت مستقیم یا بصورت متغیر مقدار دهی می شوند. در کد زیر نمونه ای از این نوع فراخوانی را مشاهده می کنید:

 

فراخوانی با ارجاع (call by references) : در این روش پردازش هایی که داخل تابع انجام می شود تاثیری بر متغیر در خارج از تابع نخواهد داشت بعنوان نمونه در کد زیر مقدار خروجی ۵ خواهد بود (به نحوه فراخوانی آرگومان به داخل تابع دقت نمایید.):

 

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

خروجی این کد مقدار ۶ است. در واقع در روش فراخوانی با ارجاع، آرگومانها با استفاده از & تعریف می شوند.

 

نوع دیگر فراخوانی مقادیر آرگومان پیشفرض یا defaut argument value است که در صورت فراخوانی تابع بدون آرگومان، یک آرگومان پیشفرض برای آن جایگزین می شود. مانند کد زیر:

خروجی به صورت زیر است در حالت اول مقدار پیشفرض و در حالت دوم مقدار تعیین شده نمایش داده می شود:

Hi Admin, Welcome to Control Panel!
Hi Manager, Welcome to Control Panel!

 

آخرین نوع از فراخوانی آرگومانها، لیست آرگومان ها با طول متغیر (Variable-length argument list) است. در این شیوه که از نسخه ۵٫۶ به بعد ارائه شده از سه عملگر نقطه برای نمایش یک لیست با طول متغیر استفاده می شود. برای درک بهتر کد زیر را مشاهده نمایید:

خروجی این کد برابر با ۱۲ است . مباحث مربوط به تعریف تابع در php در اینجا به پایان رسید. در این بخش به بررسی مهم ترین مولفه ها و ساختار کلی تعریف تابع در php پرداخته شد امیدواریم برای شما مفید واقع شود.

 

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

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *