توابع در php
آموزش توابع در زبان برنامه نویسی php

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

در دروس قبلی ، در مورد استفاده از بعضی توابع php مثل fopen و fread و ... صحبت کردیم . این ها توابعی هستند که درون php تعریف شده اند و کارهای خاصی را برای راحتی کار برنامه نویس انجام میدهند ولی شما خودتان هم میتوانید توابع مخصوص خودتان را ایجاد کنید و استفاده کنید . 

 

در بحث توابع در php دو اصل باید در نظر گرفته شود 

  1.  تعریف و ساختن یک تابع 
  2. نحوه ی صدا زدن و استفاده از تابع

 

تعریف و ساختن یک تابع در 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 به همراه پارامتر

در زبان 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 

 

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

یک تابع میتواند با دستور 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 

ما میتوانیم برای پارامترهای ورودی یک تابع در 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 بصورت داینامیک 

در 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 است.

اتمام درس