-------------------------------------------- ตัวแปรระบบและค่าคงที่ที่ใช้ในเทมเพลต-- - --------------------------------------------------
(1) ตัวแปรระบบ : ตัวแปรระบบเอาท์พุตในเทมเพลต: รวมถึงเซิร์ฟเวอร์, env, เซสชัน, โพสต์, รับ, คำขอ, คุกกี้
{$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}
SESSION และ COOKIE ยังรองรับเอาต์พุตของอาร์เรย์สองมิติด้วย
ตัวอย่างเช่น:
{$Think.CONFIG.user.user_name}
{$Think.session.user.user_name}
ระบบไม่รองรับเอาต์พุตอาร์เรย์ที่มีมากกว่าสามมิติ
(2) ตัวแปรภาษา: เอาท์พุตค่าคำจำกัดความภาษาปัจจุบันของโปรเจ็กต์
{$Think.lang.page_error}
{$Think.const.MODULE_NAME}
หรือใช้โดยตรง
{$คิด.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 ใหม่ภายใต้โฟลเดอร์ Common ในโฟลเดอร์โครงการ (เช่น: Home)
เพิ่มคำสั่งต่อไปนี้:
กำหนด('XXX', XXX); //พารามิเตอร์ตัวแรกคือชื่อคงที่ พารามิเตอร์ตัวที่สองคือค่าคงที่