پارامترها و آرگومان ها

پارامترها داده های خامی هستند که متد آنها را پردازش می کند و سپس اطلاعاتی را که به دنبال آن هستید در اختیار شما قرار می دهد. فرض کنید پارامترها مانند اطلاعاتی هستند که شما به یک کارمند می دهید که بر طبق آنها کارش را به پایان برساند. یک متد می تواند هر تعداد پارامتر داشته باشد. هر پارامتر می تواند از انواع مختلف داده باشد. در زیر یک متد با N پارامتر نشان داده شده است :

function MethodName(param1,param2, ...paramN)
{
  code to execute;
}

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

    1:<?php
    2:
    3:    function CalculateSum($number1,$number2)
    4:    {
    5:        return $number1 + $number2;
    6:    }
    7:
    8:    $result = CalculateSum(10,5);
    9:    echo $result;
   10:
   11:?>
15

در برنامه بالا یک متد به نام CalculateSum() (خطوط 6-3) تعریف شده است که وظیفه آن جمع مقدار دو عدد است. متد دارای دو پارامتر است که اعداد را به آنها ارسال می کنیم. در بدنه متد دستور returnنتیجه جمع دو عدد را بر می گرداند. در خط 8 دو عدد 5 و 10 را به عنوان آرگومان به متد ارسال می کنیم. بعد از ارسال مقادیر 5 و 10 به پارامترها ، پارامترها آنها را دریافت می کنند. به این نکته نیز توجه کنید که نام پارامترها طبق قرارداد به شیوه کوهان شتری یا camelCasing (حرف اول دومین کلمه بزرگ نوشته می شود) نوشته می شود. در داخل بدنه متد (خط 5) دو مقدار با هم جمع می شوند و در خط 9 نتیجه چاپ می شود. دانستن مبانی مقادیر برگشتی و ارسال آرگومانها باعث می شود که شما متدهای کارامد تری تعریف کنید. تکه کد زیر نشان می دهد که شما حتی می توانید مقدار برگشتی از یک متد را به عنوان آرگومان به متد دیگر ارسال کنید.

    1:<?php
    2:
    3:    function MyMethod()
    4:    {
    5:        return 5;
    6:    }
    7:
    8:    function AnotherMethod($number)
    9:    {
   10:        echo $number;
   11:    }
   12:
   13:    AnotherMethod(MyMethod());
   14:
   15:?>
5

چون مقدار برگشتی متد MyMethod() عدد 5 است و به عنوان آرگومان به متد AnotherMethod() ارسال می شود خروجی کد بالا هم عدد 5 است.

لطفا اگر نظر، پیشنهاد و یا انتقادی در باره مطلب بالا دارید در قسمت زیر مطرح بفرمایید.