php الدّوال

php إنشاء الدوال

آخر تحيين: 08-01-2015

php إقحام صفحات في أخرى php الدّوال الجاهزة


رغم أن لغة PHP توفّر ما لا يقل عن 1000 دالة ، جاهزة للإستعمال . ما عليكم سوى استدعاءها بإسمها ، ثم إعطائها القيم حتى تقوم بعملها و تزوّدكم بالنتيجة المتوخاة . قوة و مرونة php لا تقف عند هذا الحد ، بل تفسح لكم المجال للإبداع و إنشاء دوالكم الخاصة ، حسب المتطلبات و بطريقة سهلة .
لاستعمال الدوال الخاصة ، تذكروا أمرين :
_ أولا نقوم بإنشاء الدالة
ـ ثانيا نقوم باستدعاء الدالة .

إنشاء دالة php

الدوال الخاصة تبدأ دائما بكلمة function :
function name()
{
// الشيفرة ;
}

و بعد كلمة function نترك فراغا و نكتب إسم الدالة . أما الشيفرة المراد تنفيذها ، نضعها بين قوسين "{ }"

في المثال أسفله ، سننشيء دالة بسيطة . تقوم بإظهار نص ، و سنسميها مثلا : ()sayHello

<?php
// إنشاء الدالة
function sayHello()
{
  echo "<p> مرحبا بك زائرنا الكريم على موقع ألعاب الفيديو !</p>";
}

sayHello(); // استدعاء و تنفيذ الدّالة 
?>

تذكروا بأن محتوى الدّالة لا يُنفّذ إلا إذا استدعيناها .
يمكنكم تسمية دالاتكم كما يحلو لكم ، طبعا مع مراعاة قاعدة كتابة الإسم : بداية الإسم تكون إمّا حرفا أو علامة _ . و لا يجوز أبدا بدؤه بالأرقام
حتى لا تتيهوا بين أسماء دالاتكم ، أقترح عليكم دائما استعمال أسماء تدل على وظيفتها .

php تمرير الحجج للدّالة

الحجج عبارة عن معلومات نُمرّرها للدّالة ، يمكن للحجة أن تكون قيمة أو مُتغيّراً...
نضيف الحجة مباشرة بعد اسم الدّالة بين قوسين myFunction(الحجة) .
يمكننا إضافة العدد الذي نريده من الحجج ، مع الفصل بينها بواسطة علامة "," : (الحجة1 , الحجة2 , الحجة3 , ...)


مثال بحجة واحدة

سنشتغل على الدالة السابقة ()sayHello التي تقوم بعرض نص ، يرحّب بزوار موقعنا و بدل هذا الترحاب العام ، نريد أن نُرحّب بكل عضو باسمه الشخصي لهذا سنضيف متغير هذا الإسم للدالة و نسميه مثلا name$ . و عندما نقوم باستدعاء الدّالة ، يجب أن نمرّر لها هذا المتغير :

<?php
// إنشاء الدالة
function sayHello($name)
{
  echo '<p> مرحبا بك <b>'.$name.'</b> على موقع ألعاب الفيديو </p>';
}
// استدعاء و تنفيذ الدّالة
sayHello('محمّد');
sayHello('يسرى');
sayHello('زكرياء');
?>

مثال بحجّتين

بالإضافة إلى اسم العضو نريد الآن عرض سنه ، نقوم أيضا بإضافة متغير السن و نسميه على سبيل المثال age$ :

<?php
$name = "محمّد";
$age= 21;

function sayHello($name, $age)
{
  echo ' مرحبا بك '.$name.' على موقع ألعاب الفيديو !
         عمرك هو' .$age;
}

sayHello($name, $age);  // استدعاء و تنفيذ الدّالة
?>

يمكنكم التمرن و إضافة العدد الذي تودونه من الحجج .
لدي شعور بأن وظيفة الدّوال و دورها لازال يشوبه الغموض عند البعض منكم ، و هذا طبيعي ، لا زلنا في طور التعرف على قواعد و أساسيات اللغة ، و أنتم قاب قوسين أو أدنى من دخول غمار البرمجة . و ستُسعدون لتعرفكم على الدّوال . فوظيفتها لا تكمن فقط في عرض النص ، بل بالقيام بعمليات جد حيوية على موقعنا .
لتسليط قليل من الضوء على هذا الغموض لنتابع دائما على مثالنا السابق .
تخيلوا بأن موقعنا مخصص لألعاب الفيديو و لجميع الأعمار .
لاختيار لَعب لُعبة ما ، يقوم الزائر بالتسجيل أولا ، حيث نطلب منه إدخال إسمه و عمره
إذا كان عمره مناسبا نقدّم له اللعبة . أما إذا كان غير ذلك نوجهه إلى الألعاب التي تناسب عمره .
أظن بأنكم عرفتم بأننا نتحدّث هنا عن استعمال الشروط داخل الدّالة . إذاً ، ستكون دالة شبيهة بالآتي :

function welcome($name, $age)
{
    if ($age > 12) {
      echo '<p> مرحبا بك <u>'.$name.'</u> عمرك هو <u>'.$age.'</u> .
             يمكنك الإستمتاع باللعبة 
            </p>';
    } else { 
      echo '<p> مرحبا بك <u>'.$name.'</u>
           عمرك <u>'.$age.'</u> سنة . لا يُسمح لك بهذه اللعبة
           فهي مخصصة للكبار .  يمكنك الذهاب إلى القسم المخصص للأطفال
          </p>';
    }
}
// استدعاء و تنفيذ الدّالة
welcome("farid" , 11); 
welcome("rachid", 16); 
?>

القيمة الإفتراضية للدّالة

يمكننا إعطاء قيمة مبدئية للدالة . و تُستعمل هذه القيمة الإفتراضية فقط إذا لم ندلي بأي قيمة عند استدعاء الدالة :

<?php
function testMe($var = 'القيمة الإفتراضية')
{
   echo $var.'<br>';
}
testMe(); 
testMe('هذه قيمة جديدة');   
?>

قمنا باستدعاء الدّالة مرّتين :
()testMe بدون حجة : ستعرض لنا القيمة الإفتراضية .
('هذه قيمة جديدة')testMe : ستعرض لنا القيمة الجديدة

دالة تقوم بإرجاع قيمة

يمكن للدّالة إرجاع قيمة باستعمال التعليمة return .
تقوم الدّالة بتنفيذ الشيفرات و تمرّر الناتج النهائي للتعليمة return .

في المثال أسفله ، تقوم الدالة بعملية الجمع (زائد) بين عددين . ثم إرجاع الناتج النهائي

<?php
function za2id($adad1, $adad2)
{
  $kolchi = $adad1 + $adad2;
  return $kolchi;
}

$majmo3 = za2id(15, 30);

echo "<p>
        القيمة المرجعة من الدّالة هي : 
          $majmo3
      </p>";
?>

خلاصة
الدالة هي كتلة من التعليمات التي يمكن تكرار استعمالها في عدة أماكن
لا يتم تنفيذ محتوى الدالة إلا إذا قمنا باستدعائها .
php يوفر الكثير من الدوال الجاهزة الإستعمال .
قبل البدء في إنشاء دالتكم الخاصة . دائما تفقدوا إن كان php يوفرها لكم .