تابع ها در PHP

دسته : آموزش - برنامه نویسی - زبان PHP تاریخ انتشار :

php functions

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

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

تابع در PHP یا کلا برنامه نویسی چه کاری انجام میده ؟

خوب ببینید تعریف ثابتی براش نمیکنم که محدود بشیم اما با توضیحات زیر کلا با ساختار تابع در برنامه نویسی آشنا میشید .

وقتی بخوایم چند خط کد رو به صورت مداوم در جاهای مختلف برنامه ای که داریم مینویسیم تکرار کنیم ، به جای copy & paste کردن از تابع ها استفاده میکنیم . حال ممکنه این چند خط کد در جاهای مختلف ، متغیر های مختلف بپذیره ، یعنی چه ؟

جواب یعنی چه : خوب تصور کنید شما نیاز دارید در طول یک برنامه مدام متغیر ها رو با هم جمع کنید و تقسیم بر تعداد کنید تا میانگین رو بدست بیارید . این متغیر ها شاید در اول برنامه x , y , z با مقدار های مختلف باشند اما در انتهای برنامه بخواید سه متغیر به نام های a , b , c رو با هم جمع کنید و میانگین رو به دست بیارید .این عمل جمع و تفریق رو هم باید در اول برنامه انجام بدید هم در آخرش . حالا فکر کنید اگر یک پروژه ی برنامه نویسی داشته باشید که بخواید این کار و بیش از ۱۰۰۰ بار انجام بدید واقعا خسته کنند میشه و طول کدی هم مینویسید خیلی زیاد میشه .

اما با استفاه از تابع این کار با کمترین میزان کد و زمان راحت انجام میشه . مثال زیر رو ببینید :

<?php

$x = 2 ; 
$y = 7; 
echo $z = ($x + $y) /2 ;

echo '<br>' ;

$a = 12 ;
$b = 7 ;
echo $c = ($a + $b) /2 ;

echo '<br>' ;

function average($f, $g) {
	echo $h = ($f + $g) /2 ;
}


echo average(6 , 7);
echo '<br>' ;
echo average(10 , 7);
echo '<br>' ;
echo average(19 , 8);
echo '<br>' ;
echo average(4 , 12);
echo '<br>' ;
echo average(2 , 3);
echo '<br>' ;
?>

در این مثال میبینید ابتدا به صورت عادی میانگین دو عدد را به دست میاریم اما سپس با تعریف یک تابع میانگین چند عدد رو فقط با فراخوانی نام تابع به دست میاریم .

ساختار یک تابع در PHP

ساختار یک تابع در PHP به صورت زیر می باشد :

function functionname() {

           run this code ;
}

همان طور که مشاهده میکنید برای تعریف تابع در PHP و البته بیشتر زبان های برنامه نویسی از کلمه کلیدی  Function استفاده میکنیم . functionname اسم تابعی است که داریم تعریف میکنیم و میتونید اسمش رو هر چی میخواید بذارید با این شرط که با یک عدد شروع نشوند.

برای فراخوانی تابع تنها کافیست نام تابع را فراخوانی کنیم به صورت : ;()functionname

تابع ها در PHP حساس به بزرگی و کوچکی حروف نیستند یا به اصطلاح case sensitive نیستند ، اگر اسم تابع شما Name باشه میتونید با NAME , NaMe و یا name اون رو فراخوانی کنید .

تابع ها رو میتونید در هر جایی تعریف کنید ، در ابتدای کد ، انتهای کد وسط یا هر جای دیگه .

 

انواع تابع در PHP

خوب تابع ها رو از زاویه های مختلف بررسی میکنیم :

از نظر نحوه ی ساخت

تابع ها از نظر نحوه ی ساخت در PHP به دو دسته تقسیم میشن .

  • تابع های که کاربر تعریف میکنه . تابع های که خودمون تعریف میکنیم .
  • تابع های که از قبل توسط سازنده ی PHP تعریف شده اند .

در PHP بیش از ۱۰۰۰ تابع از پیش تعریف شده وجود دارد که یکی از نقاط قوت این زبان برنامه نویسی می باشد . مانند تابع  date ,scandir ، explode و … که در آموزش های آینده با آن ها آشنا میشید .

 

مثالی از یک تابع که کاربر تعریف میکنه در کنار تابع از پیش تعریف شده :

<?php
function writeMsg() {
    echo "Hello world!";
}

writeMsg(); 

echo '<br>' ;

echo "Today it is ". date('Y-M-D'); 

?>

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

از نظر آرگومنت

اصلا آرگومنت چیه ؟

در برنامه نویسی با کلمه ی آرگومنت ( Argument ) زیاد مواجه میشید . در تابع ها منظور از آرگومنت همون ورودی ها هستن مثلا وقتی شما میخواید با استفاده از یک تابع که دو عدد رو با هم جمع میکنه دو متغیر x و y رو باهم جمع کنید ، دو متغیر x و y میشن آرگومنت های تابع  .

در PHP تابع ها از نظر آرگومنت به دو دسته تقسیم می شوند .

  • تابع های با آرگومنت
  • تابع های بدون آرگومنت . این تابع های نیازی به آرگومنت ندارند .

 

مثال از یک تابع دارای آرگومنت :

<?php
function name($name) {
          echo ' your name is ' .$name ;
}

name( 'ali') ;
echo '<br>' ;
$p = " mohammad" ;
name($p) ;
?>

مثال از یک تابع بدون آرگومنت :

<?php
function writeMsg() {
    echo "Hello world!";
}

writeMsg(); 

خوب امیدواریم با مفهوم تابع که هدف این پست آموزشی بوده آشنا شده باشید . پیگیر آموزش های بعدی ما باشید و سوالات و نظرات خود را در بخش نظرات در پایین صفحه با ما در میان بگذارید .



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