پایگاه خبری دنیای برند، علاوه بر توابع پیش فرضِ خود php، ما نیز می توانیم تابع، تعریف کنیم. یک تابع یک بلوکی از دستورات است که یک بار ساخته می شود و بارها در طول برنامه فراخوانی و استفاده می شود. می توان این گونه تابع را تعریف نمود که، تابع بلوکی از کدها است که، یکسری آرگومان هایی را می گیرد و بعد از عملیات بر روی آنها، نتایج به دست آمده را بر می گرداند. پس برای داشتن برنامه ای کاربردی، چه بهتر است که برنامه را به قطعات کوچک بشکنیم و هر کدام از این قطعات را به عنوان یک تابع پیاده سازی کنیم.
یک تابع به خودی خود، با بارگزاری برنامه اجرا نخواهد شد، بلکه باید توابع را فراخوانی یا به اصطلاح Call نمود یا صدا زد. استفاده از توابع باعث می شود تا برنامه حجم کمتری داشته باشد و امکان اشکال زدایی و بهینه سازی برنامه در زمان کمتری میسر گردد.
نحوه ایجاد تابع در PHP
همانطور که در بالا گفته شد، زبان php توابع پیش فرض بسیاری دارد(بیش از هزار تابع) که می توانیم در هرجایی از برنامه، از آنها استفاده کنیم. ولی در اینجا قصد داریم، خودمان یک تابع تعریف کنیم و توسط آن، یکسری دستورات را اجرا کنیم. برای اینکه بتوانیم یک تابع تعریف کنیم، از کلمه function استفاده می کنیم.
function Function_Name(پارامترها){ بدنه تابع; }
بعد از نام function باید اسم تابع را بیاوریم اسم تابع باید تابع قواعد و قوانین زیر باشد :
- نام تابع باید با حروف انگلیسی و یا underscore _ شروع شود. نام تابع نباید با اعداد و یا سایر کاراکترها شروع شود.
- نام تابع به کوچک یا بزرگ بودن حروف حساس نیست.
- نام تابع باید یک نام مناسب باشد و با عملکرد تابع مطابقت داشته باشد.
پس تا اینجا فهمیدیم که برای نوشتن تابع باید ابتدا کلمه Function و بعد نام تابع را طبق قواعد معلوم و مشخص شده، بیاوریم . بعد از نام تابع باید یک پرانتز باز و بسته بگذاریم. اگر تابع پارامتر می گیرد، باید لیست پارامترها را با کاما (,) از هم جدا نموده و آنها را بین دو پرانتز باز و بسته، ذکر کنیم.
بعد از پرانتز ها باید، آکولاد باز} و بسته { بیاوریم و داخل آن دستورالعمل های مربوط به تابع را در بین آکولادها بنویسیم.
تا اینجا توانستیم تابع را تعریف کنیم. اما تا تابع را صدا نزنید، یا فراخوانی یا call نکنید اجرا نمی شود. برای فراخوانی تابع باید نام تابع همراه با پارامترهای تابع (اگر پارامتر داشت) را بنویسید تا تابع فراخوانی شود.
مثال:
<?php function writeMsg(){ echo "Hello world!"; } writeMsg(); // call the function ?>
آرگومنت های یک تابع
اطلاعات را می توان از طریق آرگومنت ها (arguments) به توابع انتقال داد. یک argument درست مثل یک متغیر است. argument ها بعد از نام تابع، داخل پرانتز، ذکر می شوند. شما می توانید چندین argument را ارسال کنید،و برای این کار باید آنها را با کاما از هم جدا کنید.
مثال زیر دارای یک تابع با یک argument به نام $fname است. هنگامی که تابع CustomerName() را فراخوانی یا Call میکنید باید داخل پرانتز argument ها را بنویسید و سمت تابع ارسال کنید.
<?php function CustomerName($fname){ echo "$fname Refsnes.<br>"; } CustomerName("Adam L. Holden"); CustomerName("Maria Z. Scott"); CustomerName("Betty C. Amaya"); CustomerName("Lottie P. Moore"); CustomerName("Leila J. Richert"); ?>
خروجی
Adam L. Holden Refsnes. Maria Z. Scott Refsnes. Betty C. Amaya Refsnes. Lottie P. Moore Refsnes. Leila J. Richert Refsnes.
مثال
مثال زیر یک تابع با دو argument دارد، $fname و $year
<?php function CustomerName($fname, $year){ echo "$fname Refsnes. Born in $year <br>"; } CustomerName("Leila J. Richert", " July 23, 1987"); CustomerName("Gregory A. Ford", "January 1, 1982"); CustomerName("Robert N. Waters", "۱۹۹۳"); ?>
خروجی
Leila J. Richert Refsnes. Born in July ۲۳, ۱۹۸۷ Gregory A. Ford Refsnes. Born in January ۱, ۱۹۸۲ Robert N. Waters Refsnes. Born in ۱۹۹۳
مقداردهی اولیه به پارامترها
در php این امکان برای شما تعبیه شده است که بتوانید برای argument های تابع نیز مقدار پیشفرض قرار دهید، در این صورت اگر برای تابع پارامتری نفرستیم از مقدار پیش فرض استفاده می کند، بنابراین فرستان یا نفرستادن این argument ها اختیاری می شود .
مثال زیر نشان می دهد که چگونه می توان از مقدار پیش فرض یک پارامتر استفاده کنید. اگر ما تابع setHeight () را بدون argument فراخوانی کنیم، مقدار پیش فرض را به عنوان argument می گیرد:
<?php function setHeight($minheight = ۱۲۰){ echo "The height is : $minheight <br>"; } setHeight(۲۸۵); setHeight(); // will use the default value of 120 setHeight(۱۳۵); setHeight(۷۰); ?>
نکات پایانی درباره پی اچ پی.
دیباگ کردن SQL با دیباگ کردن زبان های رویه ای کمی متفاوت است. برای آموزش PHP یا آموزش تصویری PHP ، تست کردن درستی یک کوئری گاهی اوقات می تواند به سادگی با ساخت و اجرای کوئری در مدل ad hoc انجام شود( یعنی این که شما می توانید کوئری خود را در کنسول مدیریت کننده SQL تایپ کنید و نتیجه را بررسی کنید). بسیاری از IDE های پی اچ پی ابزارهای پایگاه داده را فراهم می کنند که برای این کار می توانید از آنها استفاده کنید. به عنوان مثال Database Development Toolkit در اکلیپس دارای امکان اجرای کوئری به صورت ad hoc می باشد که می توانید به شکل مناسبی از آن استفاده کنید.
هر کدام از IDE های پی اچ پی را که انتخاب کنید باید قابلیت های دیباگ کردن در پی اچ پی را در آنها بررسی کنید تا متناسب با هدف خود یکی از آنها را انتخاب کنید. اگر اپلیکیشن شما به میزان کمی به جاوا اسکریپت وابسته است بنابراین نیاز شما به دیباگ کردن در جاوا اسکریپت کمینه می شود. در بسیاری از موارد شما بدون نیاز به ابزارهای این چنینی نمی توانید نیاز خود به دیباگ در پی اچ پی و به ویژه PHP debugging session را برطرف کنید.