ط§ظ„ط¯ط±ط³ : ظƒظٹظپ طھظ†ط´ط£ ط¯ط§ظ„ظ‡ ط®ط§طµط© ط¨ظƒ



[B]بسم الله الرحمن الرحيم
الدالة هي مايسمى بالـFunction ومن فوائد الدالة تسهيل الكود code البرمجي وعدم تكراره أكثر من مرة ولكن عندما تقوم بإنشاء دالة خاصة بك فيجب أن تكون الدالة غير موجودة مسبقاً أو أساسية ويجب أيضاً أن لا يكون اسم الدالة يبدأ برقم...
لإنشاء دالة خاصة بك أنظر إلى الشفرة التالية:



Code..

رمز PHP:
<code style="white-space:nowrap"> <code> <?
Function phpar( )
{
ECHO
"WelCome To web Site To php-ar";
}
?>
</code> </code>





والآن قمنا بإنشاء دالة باسم phpar وعند استدعائها تقوم بطباعة النص التالي:
WelCome To web Site To php-ar
ولكن كيف سيتم إستدعاء الدالة؟؟!!
لإستدعاء الدالة أنظر إلى الشفرة التالية



Code..

رمز PHP:
<code style="white-space:nowrap"> <code> <?
phpar
();
?>
</code> </code>





أرأيت كم هو سهل إستدعاء دالة من إنشاءك
والآن ماذا لو كنا نريد استدعاء الدالة وأيضاً إرسال متغير لها
أنظر إلى الشفرة التالية:


Code..


رمز PHP:
<code style="white-space:nowrap"> <code> <?
Function Test( $UName)
{
echo
"Welcome $UName";
}
?>
</code> </code>




الآن قمنا بكتابة متغير اسمه $UName ولكن كيف سيتم استدعاء الدالة ذات المتغير أنظر إلى الشفرة التالية:


Code..

رمز PHP:
<code style="white-space:nowrap"> <code> <?
Test
("al-Muslims");



?>
</code> </code>




وهو قمنا بتمرير الداله على الاسم حقنا
وعند تنفيذ الكود code السابق ستكون النتيجة
Welcome al-Muslims

قمت بوضع الدرس مفصل بموقع الاخ البدر فاكمل الباقي جزاه الله خيرا واليكم البقيه

اعادة قيمة من الدالة
لو افترضنا ان لدينا دالة باسم test ووضيفتها جمع رقمين وتخزينها في متغير $c


Code..


رمز PHP:
<code style="white-space:nowrap"> <code> <?
function test($a,$b)
{
$c = $a+$b;
}
?>
</code> </code>



اذا استدعينا الدالة بهذا الشكل


Code..


رمز PHP:
<code style="white-space:nowrap"> <code> <?
echo test(2,3);
?>
</code> </code>




الشيء المتوقع من هذه الدالة انها تعيد الرقم 5 كناتج للجمع بين 2 و 3 ولكن في حقيقة الأمر فانها لا تعيد شيئا
وحتى تعيد الدالة قيمة يجب كتابة العبارة return ثم يتبعة المتغير المخزنه فيه القيمة العائدة من الدالة
والشكل الصحيح للدالة


Code..


رمز PHP:
<code style="white-space:nowrap"> <code> <?
function test($a,$b)
{
$c = $a+$b;
return
$c;
}
?>
</code> </code>




والان جرب الدالة ستجدها تعيد الرقم 5

المدى

المتغيرات داخل الدالة تسمى متغيرات محلية بمعني ان المتغيرمعرف فقط داخل الدالة لكن لا يمكن استخدامه خارجها وعند استخدامهفلن يعمل شيء
مثال
لدينا الدالة fun تحوي متغير $var وقمنا بتخزين جمله ما فيه
عند استدعاء الدالة سوف تطبع هذه الجمله لكن عند طباعة المتغير $var فانه لن يطبع اي شي
والسبب كما قلنا انه متغير محلي
وهذا المثال جربه بنفسك



Code..
رمز PHP:
<code style="white-space:nowrap"> <code>
<?
function fun()
{
$var = "شبكة البدر";
return
$var;
}

echo
fun();
echo
"<br>";
echo
$var;
?>
</code> </code>



ولجعل المتغير عمومي بمعنى انه يمكن استخدامه خارج الدالة نضيف الكلمة global قبل المتغير
وبالتالي يصبح الكود code السابق


Code..

رمز PHP:
<code style="white-space:nowrap"> <code> <?
function fun()
{
global
$var;
$var = "شبكة البدر";
return
$var;
}

echo
fun();
echo
"<br>";
echo
$var;
?>
</code> </code>





الان قم بتجربة الكود code ستلاحظ انه قام بطباعة قيمة المتغير $var بالرغم انه موجود داخل الدالة
ملاحظة
نستطيع ان نلغي صفة العمومية من المتغير باستخدام unset



Code..

رمز PHP:
<code style="white-space:nowrap"> <code> <?
unset($var);
?>
</code> </code>




العودة من الدالات
احيانا قد نرغب بالعودة دون تكملة الدالة بناءا على شرط ما ولذلك فاننا نستخدم الكلمة return
انظر معي لهذا المثال
في هذا المثال انشأنا دالة باسم fun ومررنا لها متغيرا $var وجعلنا هناك شرطا وهو اذا كان هذا المتغير يساوي 5 ترجع الدالة قيمة صحيحة اما غير ذلك فان الدالة ترجع قيمة خاطئة



Code..


رمز PHP:
<code style="white-space:nowrap"> <code> <?
function fun($var)
{
if(
$var == 5)
{
return
true;
}else
{
return
false;
}
?>
</code> </code>




عند استدعاء نمرر رقم بناء على شرط


Code..


رمز PHP:
<code style="white-space:nowrap"> <code> <?
if(fun(10))
{
echo
"هذا الرقم هو خمسه";
}
else{
echo
"هذا الرقم لا يساوي خمسة";
}
?>
</code> </code>




راح تطبع الدالة :&quot;هذا الرقم لا يساوي خمسة &quot;
لان الرقم الممرر لها هو 10

امثلة لإنشاء الدالات

الدالة الأولى وضيفتها انشاء جدول وتاخذ بارمترين الأول عدد الصفوف والاخر عدد الأعمدة



Code..
رمز PHP:
<code style="white-space:nowrap"> <code>
<?
function table ($rows,$col)
{
echo
"<table border=\"1\"cellpadding=\"0\"cellspacing=\"0\"widt h=\"100%\">";
for(
$i=1;$i<=$rows;$i++)
{
echo
"<tr>";
for(
$m=1;$m<=$col;$m++)
{
echo
"<td width>????</td>";
}
echo
"</tr>";
}
echo
"</table>";
}
?>
</code> </code>

بامكانك تمرر لها العدد الذي تريده من الصفوف والاعمدة



Code..

رمز PHP:
<code style="white-space:nowrap"> <code> <?
table
(8,5);
?>
</code> </code>





=======================
الدالة الثانية تتحكم في لون وحجم الخط
وتحتاج الى ثلاث بارامترات الأول لون الخط والثاني حجمه اما الثالث فهو النص



Code..


رمز PHP:
<code style="white-space:nowrap"> <code> <?
function font($color,$size,$text)
{
echo
"<font color=\"$color\"size=\"$size\">$text</font>";
}
?>
</code> </code>


وهذا مثال عليها


Code..

رمز PHP:
<code style="white-space:nowrap"> <code> <?
$text
="مرحبا بكم معنا في شبكة البدر";
font(brown,8,$text);
?>
</code> </code>




وهذه داله من عندي Mr.php-ar تقوم الداله بالتحويل الى الرابط المحدد



Code..


رمز PHP:
<code style="white-space:nowrap"> <code> <?
function goto($url)
{
echo
'<meta htp-equiv='*******' content='1; Url=$url'>';
}
?>
</code> </code>





طبعا هذا كود code التحويل تضعه بين وسمي echo
رمز PHP:
<code style="white-space:nowrap"> <code> <meta htp-equiv='*******' content='1; Url=$url'>
</code> </code>

اذا اردت استدعائها



Code..


رمز PHP:
<code style="white-space:nowrap"> <code> <?
$url
= 'http://www.php-ar.com';
goto(
$url);
?>
</code> </code>



انتهى الدرس مفصل [B]









©المشاركات المنشورة تعبر عن وجهة نظر صاحبها فقط، ولا تُعبّر بأي شكل من الأشكال عن وجهة نظر إدارة المنتدى©