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

پارامترها، داده‌های خامی هستند که متد آنها را پردازش می‌کند و سپس اطلاعاتی را که به دنبال آن هستید در اختیار شما قرار می‌دهد. فرض کنید پارامترها مانند اطلاعاتی هستند که شما به یک کارمند می‌دهید که بر طبق آنها کارش را به پایان برساند. یک متد می‌تواند هر تعداد پارامتر داشته باشد. هر پارامتر می‌تواند از انواع مختلف داده باشد. در زیر یک متد با 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 است.