آموزش توابع Functions در Php

بازدید: 541 بازدید
آموزش توابع php

توابع Functions، در تمام زبان های برنامه نویسی و همچنین php، جزو اصلی ترین ارکان هر برنامه و صفحه وب سایت محسوب می شوند.

توابع به شما کمک می کنند تا پیچیده ترین محاسبات و دستورات را یک بار برای همیشه تعریف نموده و هر بار که به آنها نیاز دارید، آنها را فراخوانی کنید.

به بیان ساده تر قدرت اصلی هر زبان برنامه نویسی توابع آن ، می باشد.

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

همراه پرنیان باشید.

با سلام خدمت همراهان همیشگی سایت پرنیان طرح

توابع Functions، در تمام زبان های برنامه نویسی و همچنین php، جزو اصلی ترین ارکان هر برنامه و صفحه وب سایت محسوب می شوند.

توابع به شما کمک می کنند تا پیچیده ترین محاسبات و دستورات را یک بار برای همیشه تعریف نموده و هر بار که به آنها نیاز دارید، آنها را فراخوانی کنید.

به بیان ساده تر قدرت اصلی هر زبان برنامه نویسی توابع آن ، می باشد.

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

همراه پرنیان باشید.

توابع php

اگر بخواهیم صادق باشیم، قدرت اصلی زبان php، برآمده از توابع فوق العاده آن است.

این زبان بیش از 1000 تابع مختلف دارد.

این توابع می توانند در طراحی و انجام کارها و وظایف مختلف، به کمک برنامه نویسان بیایند.

 

توابع تعریف شده توسط کاربر در php

علاوه بر توابع موجود در زبان php، ما میتوانیم ، خودمان نیز توابع مورد نیاز خودمان را ایجاد کنیم.

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

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

ویژگی تابع: یک تابع، بلافاصله بعد از بارگذاری یک صفحه وب، شروع به کار نخواهد کرد.

برای شروع به کار یک تابع، باید آن را فراخوانی کنید.

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

ایجاد یک تابع توسط کاربر در php

شروع به کار یک تابع، که توسط کاربر تعریف شده است، با کلمه()function  می باشد.

یعنی برای اینکه تابعی استارت بخورد. و شروع به کار کند باید، قبل از تابع کلمه ()function را بنویسید.

شکل نحوی تعریف تابع ، به شکل زیر است:

function نام تابع() {
    کدهایی که توسط کاربر برای انجام محاسبات تعریف می شوند;
}

توجه داشته باشید که نام یک تابع میتواند با یکی از حروف الفبا و یا با علامت “_” آغاز شود.

برای تعریف نام تابع مجاز به استفاده از اعداد نیستید.

پیشنهاد: برای تابع خود، نامی انخاب کنید که مربوط به وظیفه آن تابع باشد.

توجه! نام توابع، به بزرگی یا کوچکی حروف (A-a) حساس نمی باشد.

 

 میخواهیم یک تابع بسازیم:

نام این تابع ، ()writeMsg می باشد.

علامت (}) نشان دهنده شروع کدهای تابع است. و علامت ({) نشان دهنده نقطه پایان کدهای تابع می باشد.

خروجی این تابع ، عبارت “!Hello world” می باشد.

برای فراخوانی تابع و شروع به کار آن، کافیست بعد از تعریف تابع، نام آن را داخل براکت ({}) بنویسید.

مثال:

[php]

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

writeMsg();
?>

[/php]

آرگومان های یک تابع 

توابع ، اطلاعات مورد نیاز خود را از طریق آرگومان هایشان دریافت می کنند.

یک آرگومان، دقیقا مانند یک متغیر عمل می کند.

آرگومان ها، بعد از نام تابع تعریف می شوند.

به عبارت ساده تر، یک آرگومان، در داخل تابع تعریف می شود.

برای تعریف آرگومان ، باید آن را داخل پرانتز قرار دهید. مانند: familyName(“Jani”)

می توانید به هر میزان که نیاز دارید، آرگومان برای یک تابع تعریف کنید.

برای جدا کردن آرگومان ها از یکدیگر در حین تعریف، باید بین آنها کاما(،) قرار دهید. مانند: familyName(“Hege”“1975”)

در مثالی که در ادامه یجاد میکنیم، یک آرگومان با نام (fname$) داریم.

زمانی که تابع ()familyName فرخوانی شود، ما در کنار آن ، یک اسم هم قرار میدهیم. (از طریق تعریف تابع)

این نام ها در داخل تابع تعریف شده اند.

همانطور که در مثال خواهید دید، نام ها متفاوت هستند، اما نام خانوادگی برای همه آنها یکسان است.

 

[php]

<?php
function familyName($fname) {
echo “$fname Refsnes.<br>”;
}

familyName(“Jani”);
familyName(“Hege”);
familyName(“Stale”);
familyName(“Kai Jim”);
familyName(“Borge”);
?>

[php]

خروجی کد بالا به شکل زیر خواهد بود:

Jani Refsnes.
Hege Refsnes.
Stale Refsnes.
Kai Jim Refsnes.
Borge Refsnes.

در مثال بعدی ، تابع، دارای دو آرگومان با نام های fname$ وyear$ می باشد.

[php]

<?php
function familyName($fname, $year) {
echo “$fname Refsnes. Born in $year <br>”;
}

familyName(“Hege”,”1975″);
familyName(“Stale”,”1978″);
familyName(“Kai Jim”,”1983″);
?>

[/php]

خروجی این کد، مقدار زیر خواد بود:

Hege Refsnes. Born in 1975
Stale Refsnes. Born in 1978
Kai Jim Refsnes. Born in 1983

php ! یک زبان معمولی است

اگر دقت کرده باشید، متوجه شده اید، که در مثال های بالا، ما برای هیچ یک از توابع، نوع داده را تعیین و تعریف نکرده ایم.

php به طور خودکار، یک نوع داده را به متغیرهایش نسبت می دهد.

اما این نسبت دهی بستگی به مقدار موجود در متغیر دارد.

از آنجا که این نوع داده ها به طور دقیق تعریف نشده اند، شما میتوانید عملیاتی مانند ملحق کردن یک داده از نوع رشته string را به یک داده از نوع عددی integer ، انجام دهید.

بدون اینکه برنامه error داشته باشد.

در php7، ویژگی تعریف نوع داده اضافه شده است.

این ویژگی به شما این اختیار را می دهد که نوع داد را در حین ایجاد یک تابع ، تعریف کنید.

همچنین اگر ویژگی strict requirement را فعال کنید، هنگامی که نوع داده تعریف شده، با نوع داده قرار داده شده درون متغیر، همخوانی نداشته باشد، با یک Fatal Error مواجه خواهید شد.

در مثال زیر، میخواهیم یک رشته و یک عدد را با هم ادغام کنیم. بدون اینکه strict requirement را فعال کرده باشیم.

[php]

<?php
function addNumbers(int $a, int $b) {
return $a + $b;
}
echo addNumbers(5, “5 days”);
?>

[/php]

با توجه به اینکه strict فعال نیست، مقدار 5روز، به 5 تبدیل شده، و با 5جمع شده و مقدار 10 در خروجی نمایش داده خواهد شد.

میتوانید از این لینک نتیجه را ببینید.

 

در مثال زیر ویژگی strict را فعال کرده ایم:

[php]

<?php declare(strict_types=1); // strict requirement

function addNumbers(int $a, int $b) {
return $a + $b;
}
echo addNumbers(5, “5 days”);
?>

[/php]

در این کد، با توجه به فعال بودن ویژگی strict، 5روز با مقدار 5، ادغام و جمع نخواهد شد.

در این کد، بعد از اجرا، با ارور مواجه خواهیم شد.

نتیجه را از این لینک ببینید.

برای تعریف ویژگی strict ،ما باید اعلان ;(declare(strict_types=1 را تنظیم کنیم.

این تنظیم باید ، در اولین خط از فایل php باشد.

ویژگی strict مشخص می کند که داده های مورد نیاز تابع،به لحاظ نوع داده، حتما باید با انواع داده تعریف شده، در آن هماهنگ باشند.

ویژگی strict باعث می شود که خواندن و فهمیدن کد راحتتر شود. همچنین اجزای تابع را مجبور می کند، از روش مشخص شده پیروی کنند.

در این آموزش، ما از این روش استفاده خواهیم. یعنی پیروی از روش تعیین شده!

مقدار پیشفرض آرگومان در php

مثال زیر نحوه استفاده از یک پارامتر پیشفرض را نمایش می دهد:

در این مثال ،اگر تابع ()setHeight را بدون آرگومان، فراخوانی کنیم ، مقدار پیشفرض را به عنوان آرگومان در نظر خواهد گرفت.

[php]

<?php
function setHeight(int $minheight = 50) {
echo “The height is : $minheight <br>”;
}

setHeight(350);
setHeight();
setHeight(135);
setHeight(80);
?>

[/php]

نتیجه این کد ، مقدار زیر خواهد بود:

The height is : 350
The height is : 50
The height is : 135
The height is : 80

توابع با مقادیر بازگشتی در php

بای اینکه یک تابع، یک مقدار را بازگرداند، باید اعلان statement را ایجاد کنید.

[php]

<?php
function sum(int $x, int $y) {
$z = $x + $y;
return $z;
}

echo “5 + 10 = ” . sum(5,10) . “<br>”;
echo “7 + 13 = ” . sum(7,13) . “<br>”;
echo “2 + 4 = ” . sum(2,4);
?>

[/php]

نتیجه کد بالا، نمایش خروجی زیر خواهد بود:

5 + 10 = 15
7 + 13 = 20
2 + 4 = 6

اعلان نوع بازگشتی در php

php7، به شما این امکان را می دهد که برای مقدار بازگشتی تابع نیز، نوع داده تعریف کنید.

مانند اعلان نوع داده برای آرگومان های یک تابع؛ اگر ویژگی strict را برای مقادیر بازگشتی تابع  فعال کنید ؛ در صورت همخوانی نداشتن نوع داده ها با Fatal Error مواجه خواهید شد.

برای تعیین کردن یک نوع ، برای مقدار بازگشتی تابع، باید اینکار را انجام دهید:

در زمان تعریف کردن تابع، ابتدا یک “:” اضافه کنید.

سپس نوع داده مورد نظر خود را تعیین کنید .

بعد علامت “}” را قرار دهید.

در مثال زیر، یک نوع داده برای مقدار بازگشتی تابع خود تعریف می کنیم:

[php]

<?php declare(strict_types=1); // strict requirement
function addNumbers(float $a, float $b) : float {
return $a + $b;
}
echo addNumbers(1.2, 5.2);
?>

[/php]

نتیجه کد بالا، عبارت زیر خواهد بود:

6.4

تعریف نوع داده برای مقدار بازگشتی

شما می توانید برای مقدار بازگشتی نوع داده ای متفاوت از آرگومان های تابع تعریف کنید.

به شرط آنکه مطمین باشید، نوع داده ای که تعیین می کنید، درست باشد.

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

در مثال زیر، نوع داده آرگومان های تابع از نوع float است.

در حالی که نوع داده مقدار بازگشتی از نوع integer می باشد.

[php]

<?php declare(strict_types=1); // strict requirement
function addNumbers(float $a, float $b) : int {
return (int)($a + $b);
}
echo addNumbers(1.2, 5.2);
?>

[/php]

نتیجه کد بالا مقدار می باشد.

این مقدار برای نمایش در خروجی ؛ می تواند نوع داده float داشته باشد.

هم می تواند با نوع داده integer نمایش داده شود.

دسته بندی برنامه نویسی php
اشتراک گذاری
مقالات مرتبط

دیدگاهتان را بنویسید

سبد خرید

هیچ محصولی در سبد خرید نیست.