الدوال فى بى اتش بى php functions



دوال ( PHP ) هي عبارة عن مجموعة من أسطر الكود البرمجي يندرج تحت اسم معين يسمى اسم الدالة Function name ويتم تجاهل الكود بالكامل لحين استدعاء الدالة, ويتم الاستدعاء عن طريق كتابة اسم الدالة فقط.
للتبسيط يمكنك أن تتخيل البرنامج عبارة عن مؤسسة ولتكن مدرسة تحتوي علي الكثير من الوظائف Functions (مدرس – مدير – إداري – كاتب), وكل منهم يعرف وظيفته ولكن لا يعملون إلا اذا كانو مكلفون بشغل. هكذا دوال ( PHP ). وهناك دوال سابقة التعريف في ( PHP ) وعددها كبير ويمكنك عمل الدوال الخاصة بك صيغة كتابة الدالة Function Syntax

جميع الدوال يتم كتابتها علي النحو التالي
<?php
   function name ($arguments){
       code here
   }
?>
name : اسم الدالة الذي يتم استخدامه عند استدعاء الدالة. yle="text-align: justify; padding-right: 30px;">arguments : الوسائط التي يتم ارسالها للدالة وهي اختيارية ويمكن أن تكون متغيرات أو مصفوفات وأيضاً يمكن أن تكون دالة اخرى.
{} : أقواس مجعدة Curly Braces لبداية ونهاية الدالة.
وتكمن أهمية استخدام الدوال في أنها توفر الوقت والمجهود . فقد تريد إضافة مجموعة من السطور البرمجية مرات عديدة وفي أماكن متفرقة, فمن الطبيعي أنك إذا إردت تعديل هذه السطور فإنك ستذهب لكل مكان يحتوي علي هذه السطور وتقوم بالتعديل عليها, وبالطبع هذا مجهد جداً . أما عن طريق الدوال فإنت تكتب هذه السطور مرة واحدة في مكان معين داخل دالة ( PHP FUNCTIONS ) , ثم تضع اسم الدالة في أي مكان تريد تنفيذ هذا الكود به. وبالتالي عند التعديل علي الدالة الرئيسية يتم التعديل في كل الأماكن مرة واحدة.
الآن يمكننا كتابة دالة بسيطة لطباعة جملة Hello World بالشكل التالي
<?php
   function writeMsg(){
      echo "Hello world!";
   }
?>
قم بتجربة الكود وستجد أنه لم يتم طباعة الكود , لأنه كما قلنا سالفاً أن الدالة هي مجموعة من السطور البرمجية غير قابلة للتنفيذا إلا في حالة استدعاء الدالة . وبالتالي يجب علينا استدعاء الدالة بكتابة اسم الدالة متبوعاً بـ () أو (arguments$) في حالة استخدام الوسائط arguments$. لذلك سنقوم باستدعاء الدالة هكذا
<?php
    function writeMsg(){
       echo "Hello world!";
    }
    writeMsg(); // } استدعاء الدالة بعد قوس الأنهاء المجعد
?>
قم بتجربة الكود وسيتم طباعة الجملة Hello World عند استدعاء الدالة بكتابة ()writeMsg بعد قوس الإنهاء المجعد { .

وسائط الدوال Functions Arguments

يتم تمريرها للدالة لكي تستخدم في كود الدالة وهي اختيارية ويمكن أن تكون متغيرات h" target="_blank">PHP أو مصفوفات وأيضاً يمكن أن تكون دالة اخرى. وتدعم ( PHP ) ثلاثة أنواع من تمرير الوسائط للدوال
1- تمرير قيمة الوسيط وهو الوضع الافتراضي
2- تمرير الوسائط بالمرجعية
3- تمرير الوسائط بالقيمة الافتراضية
مثلا 1 :
نريد عمل دالة تقوم بجمع أي رقمين فيمكنك كتابة الدالة بهذا الشكل
<?php
   function addnum($no1,$no2)// تعريف وسائط الدالة
     {
        $no3= $no1+$no2;// عملية حسابية بسيطة لجمع قيم المتغيرات
        return $no3;// للحصول علي قيمة المتغير دون طباعته return استخدام
     }
   Print addnum(5,10);// استخدام الدالة لطباعة مجموع الرقمين 5 و 10
   echo '<br>';// <br> للبدء في سطر جديد يستخدم وسم اتش تي ام ال
   Print addnum(3,11);
   echo '<br>';
   Print addnum(6,12)
?>
شرح الكود :
1- في السطر رقم 2 قمنا بتعريف الدالة ()addnum ومررنا لها المتغيرين no1 , no2 .
2- في السطر رقم 4 نفذنا عملية جمع لقيمتي المتغيرين وخصصناها للمتغير no3.
3- في السطر رقم 5 نطلب استرجاع قيمة المتغير no3.
الآن يمكن تمرير أي متغيرين نريد جمع قيمتيهما للدالة بدلاً من no1, no2 وسنحصل على نتيجة الجمع. وهذا ما حدث في السطر رقم 7, 8, 9 . ويمكن تمرير أي عدد من الوسائط بشرط الفصل بينهم بواسطة فاصلة ( , ).
والطريقة التي استخدمناها في المثال السابق هي الطريقة الافتراضية للدوال وهي تمرير قيم الوسائط ( passing arguments by value ), لكن أيضاً يمكن تمرير الوسائط بالقيمة الافتراضية ( passing arguments by reference ) أو تمرير الوسائط بالمرجعية ( passing arguments by default value )
 

قواعد كتابة الدوال

1- يتم تعريف الدالة باستخدام كلمة function
2- تأكد من عدم وجود أكثر من دالة تحمل نفس الإسم ولاتستخدم اسماء للدالة تتعارض مع الدوال المدمجة في ( PHP )
3- لايمكن الوصول لقيم المتغيرات التي يتم تعريفها داخل الدالة من خارج الدالة
4- لايمكن اضافة متغير داخل دالة تم تعريفه خارجها إلا باستخدام كلمة global قبل المتغير عند تعريفه داخل الدالة
5- لايمكن تنفيذ كود الدالة إلا بعد استدعاء الدالة
6- يجب أن يبدأ اسم الدالة بـ ( حرف أو شرطة تحتية (_) ) متبوعاً بعدد من الأحرف و الأرقام أو الشرطة التحتية
7 – اسم الدالة ليس حساس لحالة الأحرف ( Not Case-Sensitive ), أي أن هذه الأسماء تشير إلى دالة واحدة PRINT, Print,PrInt

























الدوال فى بى اتش بى php functions الدوال فى بى اتش بى php functions Reviewed by tarik on فبراير 02, 2019 Rating: 5

ليست هناك تعليقات:

يتم التشغيل بواسطة Blogger.