بخش هشتم-آموزش PHP

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

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

برنامه نویسی به این روش کاری بسیار بسیار بسیار سخت خواهد بود. کافی است یکبار در دنیای واقعی امتحان کنید!!!

یکی از راهکارهایی که به نظر مناسب می رسد این است که قطعه کدی که در برنامه زیاد تکرار می شود را با یک نام مشخص نامگذاری کنیم و دربخش هایی از کد php که به آن نیاز داریم فقط نام آن را بنویسیم و php به صورت خودکار هربار که به نام مشخص شده رسید ابتدا قطعه کد مورد نظر را اجرا نماید سپس دوباره به همان مکانی که نام قطعه کد را برای اجرا نوشته بودیم ، بازگردد و اجرا کدها را از سر بگیرد (این کد بدون فراخوانی نام آن هیچ وقت اجرا نخواهد شد). در این روش هربار که نیاز به تغییر در قعطه کد تکراری باشد فقط یکبار و در یکجا آن را تغییر می دهیم. شکل زیر نمایش درستی از روش جدید است:

در دنیای برنامه نویسی به هر بلاک از کد که اسمی به آن اختصاص داده شده باشد و بتوان آن را در بخش های مختلف برنامه فراخوانی کرد و پس از فراخوانی و اجرای قطعه کد ، کنترل اجرا دوباره به بخش فراخوان بازگردد رویه (Procedure) و اگر این رویه مقداری به عنوان نتیجه محاسبات خود باز گرداند به آن تابع (Function) می گوییم.

در زبان php هر دو مفهوم ادغام شده اند و تحت عنوان تابع (Function) شناسایی می شوند. برای تعریف یک تابع در زبان php به روش زیر عمل می کنیم:


function fName()
{
// Code
}

برای اینکه تابعی در زبان php تعریف شود فقط و فقط کافی است در قطعه کد بالا fName را به نام مورد نظر خود تغییر دهید و دستورات مورد نیاز را در بخش Code بنویسید.

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

برای اجرای تابع در زبان php تنها کاری که باید انجام شود این است که بعد از تعریف تابع در محلی که نیاز به فرخوانی (اجرا) تابع داریم نام تابع را همراه با پرانتز باز و بسته بنویسیم:


fName();

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

پارامترهای توابع در php

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


function addNumbers()
{
$sum = $a + $b;
echo $sum;
}

ولی نکته اینجاست که در کد بالا متغیرهای $a و $b باید به صورت سراسری تعریف شوند و این بدین معناست که باید برنامه خود را با دقت خیلی زیادی بنویسیم چراکه ممکن است در بخش هایی از کد مقادیر این متغیرها را دچار تغییرات ناخواسته نماییم ، ضمن اینکه از حافطه به شکل بهینه استفاده نکرده ایم.

متغیر سراسری در تمام بخش های برنامه قابل دسترسی و استفاده است ولی متغیر محلی فقط در بلاکی از کد که در آن تعریف شده است قابل استفاده و معتبر است. اگر این توضیح کافی نبود اصلا نگران نباشید و ادامه مطلب را بخوانید!!!

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


function addNumbers($a , $b)
{
$sum = $a + $b;
echo $sum;
}

مثال بالا تابع جمع دو عدد را با پارامترهای $a و $b نشان می دهد. باید توجه داشته باشید که در این مثال نیازی به تعریف متغیرهای سراسری نیست ، و $a و $b به صورت محلی به عنوان پارامترهای تابع addNumbers تعریف شده اند و بیرون از تابع قابل استفاده نخواهند بود.

برای ارسال مقدار به پارامترهای تابع در زبان php به شکل زیر عمل می کنیم:


addNumbers(100,200);

با اجرای دستور فوق عدد 300 برای کاربر نمایش داده می شود.

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


function addNumbers($a , $b)
{
$sum = $a + $b;
return $sum;
}

یک نکته و آن اینکه مقدار بازگشتی از تابع (خروجی تابع) به شکل زیر قابل استفاده خواهد بود:


$result = addNumbers(100,200);

در قطعه کد php بالا متغیر $result حاوی خروجی تابع - در این مثال مقدار 300 - خواهد بود.

لطفا نظرات خود را برای ما ارسال کنید...


نظرات


کلیه مطالب این پست(آموزش  PHP)از سایت http://webfocus.ir/ در یافت شده است.



نظرات 0 + ارسال نظر
برای نمایش آواتار خود در این وبلاگ در سایت Gravatar.com ثبت نام کنید. (راهنما)
ایمیل شما بعد از ثبت نمایش داده نخواهد شد