عندما تقوم بإسناد قيمة ثابتة باستخدام define فإنها تريحك عند استدعائها أكثر من المتغيرات .. فمثلا يجب أن تستدعي المتغير بنفس اسمه وبنفس الحروف سواء كابيتل أو سمول .. أما define فيمكنها تحاهل تطابق الحروف الصغيرة والكبيرة والتركيز على الاسم فقط .. لاحظ
كود PHP:
define("GREETING", "Hello you.", true);
echo GREETING; // outputs "Hello you."
echo GreeTing; // outputs "Hello you."
أيضا define لايمكن تغيير قيمتها بأي شكل داخل الشروط أو حلقات التكرار .. لذلك لاتستخدم بفعالية داخل الشروط والحلقات .. لاحظ التالي
كود PHP:
define("GREETING", "Hello you.", true);
if (GREETING== "Hello you."){
define("GREETING", "XXXXXXXX", true);
}
echo GREETING;
مع أن الشرط تحقق في المثال بالأعلى إلا أنه لم يقم بتغيير قيمة GREETING إلى XXX .. وهذي ميزة قوية بالاحتفاظ بالقيمة لايمكن للمتغيرات مجاراتها ,, إذ أن المتغيرات تحتفظ باخر قيمة مررتها لها وتنسى ماقبلها
استخدم define في تعريف ثوابت لاتتغير في البرنامج مثل اسم الموقع .. أو اسم القاعدة واسم المستخدم .. وأيضا في استبدال الكلمات بترجمتها الصحيحة إذا كان برنامجك يدعم تعدد اللغات