---------------------------------------- متغيرات النظام والثوابت المستخدمة في القوالب -- - ----------------------------------------------
(1) متغيرات النظام : متغيرات نظام الإخراج في القالب: بما في ذلك الخادم، والبيئة، والجلسة، والنشر، والحصول، والطلب، وملفات تعريف الارتباط
{$Think.server.script_name} // إخراج متغير $_SERVER
{$Think.session.session_id|md5} // إخراج متغير $_SESSION
{$Think.get.pageNumber} // إخراج متغير $_GET
{$Think.cookie.name} // إخراج متغير $_COOKIE
يمكن أيضًا كتابة الطريقة المذكورة أعلاه على النحو التالي:
{$_SERVER.script_name} // إخراج متغير $_SERVER
{$_SESSION.session_id|md5} // إخراج متغير $_SESSION
{$_GET.pageNumber} // إخراج متغير $_GET
{$_COOKIE.name} // إخراج متغير $_COOKIE
ثوابت النظام: الإخراج باستخدام $Think.const
ملاحظة: الخادم وملفات تعريف الارتباط والتكوين ليست حساسة لحالة الأحرف، ولكن المتغيرات حساسة لحالة الأحرف. على سبيل المثال:
{$Think.server.script_name} يعادل {$Think.SERVER.script_name}
تدعم الجلسة وملفات تعريف الارتباط أيضًا إخراج المصفوفات ثنائية الأبعاد
على سبيل المثال:
{$Think.CONFIG.user.user_name}
{$Think.session.user.user_name}
لا يدعم النظام إخراج المصفوفة بأكثر من ثلاثة أبعاد.
(2) متغير اللغة: إخراج قيمة تعريف اللغة الحالية للمشروع
{$Think.lang.page_error}
{$Think.const.MODULE_NAME}
أو استخدامه مباشرة
{$Think.MODULE_NAME}
(3) المتغيرات الخاصة: الثوابت المحددة داخليًا بواسطة نظام ThinkPHP
{$Think.version} //الإصدار
{$Think.now} //الآن الوقت
{$Think.template|basename} //صفحة القالب
{$Think.LDELIM} // رمز بداية تسمية القالب
{$Think.RDELIM} // رمز نهاية علامة القالب
(4) معلمات التكوين: إخراج قيم معلمات التكوين للمشروع
{$Think.config.db_charset}
قيمة الإخراج هي نفس نتيجة C('db_charset').
---------------------------------------- ثوابت النظام المستخدمة في العمل ----- - ---------------------------------
THINK_PATH // دليل نظام ThinkPHP
APP_PATH // دليل المشروع الحالي
APP_NAME // اسم المشروع الحالي
MODULE_NAME // اسم الوحدة الحالية
ACTION_NAME // اسم العملية الحالية
TMPL_PATH // دليل قالب المشروع
LIB_PATH // دليل مكتبة فئة المشروع
CACHE_PATH // دليل ذاكرة التخزين المؤقت لقالب المشروع
CONFIG_PATH // دليل ملف تكوين المشروع
LOG_PATH // دليل ملف سجل المشروع
LANG_PATH // دليل ملفات لغة المشروع
TEMP_PATH // دليل الملفات المؤقتة للمشروع
PLUGIN_PATH // دليل ملف البرنامج الإضافي للمشروع
VENDOR_PATH // دليل مكتبة الطرف الثالث
DATA_PATH // دليل ملف بيانات المشروع
IS_APACHE // ما إذا كان ينتمي إلى Apache
IS_IIS // سواء كان ينتمي إلى IIS
IS_WIN // سواء كان ينتمي إلى بيئة Windows
IS_LINUX // سواء كان ينتمي إلى بيئة Linux
IS_FREEBSD // سواء كان ينتمي إلى بيئة FreeBsd
NOW_TIME // الطابع الزمني الحالي
MEMORY_LIMIT_ON // هل هناك حد لاستخدام الذاكرة؟
OUTPUT_GZIP_ON // ما إذا كان سيتم تمكين ضغط الإخراج
MAGIC_QUOTES_GPC // MAGIC_QUOTES_GPC
THINK_VERSION // رقم إصدار ThinkPHP
LANG_SET // لغة المتصفح
TEMPLATE_NAME // اسم القالب الحالي
TEMPLATE_PATH // مسار القالب الحالي
__ROOT__ // عنوان الدليل الجذر لموقع الويب
__APP__ // عنوان المشروع الحالي (ملف الإدخال).
__URL__ // عنوان الوحدة الحالي
__ACTION__ // عنوان العملية الحالي
__SELF__ // عنوان URL الحالي
TMPL_FILE_NAME // اسم القالب الافتراضي للعملية الحالية (بما في ذلك المسار)
WEB_PUBLIC_URL // الدليل العام لموقع الويب
APP_PUBLIC_URL // دليل القالب العام للمشروع
---------------------------------------- ثوابت النظام المستخدمة في القوالب ------ ---------------------------------
__ROOT__ // عنوان الدليل الجذر لموقع الويب
__APP__ // عنوان المشروع الحالي (ملف الإدخال).
__URL__ // عنوان الوحدة الحالي
__ACTION__ // عنوان العملية الحالي
__SELF__ // عنوان URL الحالي
__PUBLIC__ // الدليل العام لموقع الويب
../عام (غير حساس لحالة الأحرف) // دليل القالب العام للمشروع
ملاحظة: عندما نستخدم الثوابت، نتحقق من الكود المصدري في المتصفح بعد تحميل القالب. عندما نلاحظ بعض عناوين URL التي تستخدم الثوابت، سنجد ظاهرة لا يمكننا رؤية عنوان IP الخاص بالخادم، وعنوان URL من العنصر.
يبدأ باسم المشروع، فلماذا يمكن الوصول إلى وحدة التحكم المقابلة بشكل صحيح؟ في الواقع، هذه مزحة يلعبها المتصفح علينا. عندما نحرك الماوس إلى عنوان URL، انقر بزر الماوس الأيمن وانسخ الملف
الصق عنوان URL في مكان آخر، وسيتم عرض عنوان IP للخادم، ويمكن ملاحظة أن عنوان IP للخادم مضمن في الثابت المستخدم في عنوان URL.
---------------------------------------- الثوابت المخصصة ------ -- --------------------------------
قم بإنشاء ملف common.php جديد ضمن المجلد المشترك في مجلد المشروع (على سبيل المثال: الصفحة الرئيسية)
أضف العبارة التالية:
define('XXX', XXX); // المعلمة الأولى هي الاسم الثابت، والمعلمة الثانية هي القيمة الثابتة