الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

الثوابت السحرية

بدأه ahmedsaoud31 في 23 سبتمبر 2012 · 0 رد · 821 مشاهدة · في منتدى تطوير المواقع بـ PHP
مشاركة: واتساب X فيسبوك تيليجرام
#1

السلام عليكم

* الثوابت السحرية Magic constants :

- ما هى الثوابت السحرية ؟

- الثوابت السحرية هى ثوابت معرفة مسبقاً فى اللغة PHP وتقوم بعمل ثابت , وتكون على هذا الشكل __CONSTNAME__ ويوجد ثمانية ثوابت حتى الآن سنقوم بسرد عملهم :

1- __LINE__ وهو يعطينا رقم السطر الموجود به هذا الثابت .

2- __FILE__ وهو يعطينا المسار الكامل للملف الحالى .

3- __DIR__ وهو يعطينا مسار المجلد الموجود بداخلة الملف الحالى .

4- __FUNCTION__ وهو يعطينا اسم الدالة الموجود بداخلها , "تستخدم داخل الدوال"

5- __CLASS__ وهو يعطينا اسم الفئة الموجود بداخلها , "تستخدم داخل الفئات"

6- __TRAIT__ وهو يعطينا اسم السمة الموجود بداخلها , "تستخدم داخل السمات"

7- __METHOD__ وهو يعطينا اسم الدلة مسبوقاً باسم الفئة , "تستخدم داخل الدوال الموجودة بالفئات"

8- __NAMESPACE__ وهو يعطينا اسم المعرف "NAMESPACE" , "تستخدم عند تعريف معرف"NAMESPACE" فى بداية الملف"

أمثلة على ما سبق :

<?php 
namespace ahmedsaoud31;
echo __LINE__ ;
echo "<br>";
echo __FILE__ ;
echo "<br>";
echo __DIR__ ;
echo "<br>";
echo dirname(__FILE__) ;
echo "<br>";
echo dirname(__DIR__) ;
echo "<br>";
echo dirname(dirname(__DIR__)) ;
echo "<br>";
function test(){
	echo __FUNCTION__ ;
}
test();
?>

- قبل ظهور الثابت __DIR__ كان يتم إستخدام dirname(__FILE__) لجلب مسار مجلد الملف .

أمثلة على الفئات والسمات :

<?php 
trait A{
	public function test(){
		echo __TRAIT__ ;
		echo "<br>";
		echo __METHOD__ ;
		echo "<br>";
		echo __FUNCTION__ ;
		echo "<br>";
	}
}
class B{
	use A;
	public function test2(){
		echo __CLASS__ ;
		echo "<br>";
		echo __METHOD__ ;
		echo "<br>";
		echo __FUNCTION__ ;

	} 
}
$obj = new B();
$obj->test();
$obj->test2();
?>

وهذا مثال على المعرفات :

<?php
namespace ahmedsaoud31;

function test(){
	echo __NAMESPACE__ ;
	echo "<br>";
	echo __FUNCTION__ ;	
}
test();
?>

* ملاحظة: يجب أن يكون تعريف ترميز الوثيقة هو utf-8 without BOM أو ANSI لكى يعمل الكود السابق بدون أخطاء .

1

لاتحسبن العلم ينفع وحده مالم يتوج ربه بخلاق

لا إله إلا أنت سبحانك إني كنت من الظالمين

مواضيع مشابهة