ThinkPHP เป็นเฟรมเวิร์กการพัฒนา PHP แบบโอเพ่นซอร์สฟรีที่รวดเร็วและเรียบง่าย เปิดตัวภายใต้ข้อตกลงโอเพ่นซอร์ส Apache2 และเกิดมาเพื่อการพัฒนาแอปพลิเคชันบนเว็บที่คล่องตัวและการพัฒนาแอปพลิเคชันระดับองค์กรที่เรียบง่าย มีฟังก์ชันและฟีเจอร์ที่ยอดเยี่ยมมากมาย หลังจากพัฒนามานานกว่า 3 ปี ด้วยการมีส่วนร่วมอย่างแข็งขันของทีมงานชุมชน มันได้รับการปรับให้เหมาะสมและปรับปรุงอย่างต่อเนื่องในแง่ของความง่ายในการใช้งาน ความสามารถในการปรับขนาด และประสิทธิภาพ นำไปใช้อย่างเสถียรในแอปพลิเคชันเชิงพาณิชย์และการพัฒนาระดับพอร์ทัล
ThinkPHP ใช้เฟรมเวิร์กและโมเดลต่างประเทศที่ยอดเยี่ยมมากมาย ใช้โครงสร้างการพัฒนาเชิงวัตถุและโมเดล MVC ใช้โมเดลรายการเดียว ฯลฯ และรวมแนวคิด Action ของ Struts และ TagLib ของ JSP (ไลบรารีแท็ก) การแมป ORM ของ RoR และโมเดล ActiveRecord แค็ปซูล CURD และการดำเนินการทั่วไปบางอย่างในการกำหนดค่าโปรเจ็กต์, การนำเข้าไลบรารีคลาส, เอ็นจิ้นเทมเพลต, ภาษาคิวรี, การตรวจสอบอัตโนมัติ, โมเดลมุมมอง, การรวบรวมโปรเจ็กต์, กลไกการแคช, การสนับสนุน SEO, ฐานข้อมูลแบบกระจาย, การเชื่อมต่อและการสลับฐานข้อมูลหลายฐานข้อมูล, กลไกการรับรองความถูกต้อง และมี ประสิทธิภาพที่เป็นเอกลักษณ์ในแง่ของความสามารถในการขยายขนาด
เมื่อใช้ ThinkPHP คุณสามารถพัฒนาและปรับใช้แอปพลิเคชันได้สะดวกและรวดเร็วยิ่งขึ้น แน่นอนว่า ไม่ใช่แค่แอปพลิเคชันระดับองค์กรเท่านั้น การพัฒนาแอปพลิเคชัน PHP ใดๆ ก็สามารถได้รับประโยชน์จากความเรียบง่ายและความเร็วของ ThinkPHP ThinkPHP มีคุณสมบัติดั้งเดิมมากมาย และสนับสนุนหลักการของความเรียบง่าย การพัฒนาด้วยตัวเอง และใช้โค้ดน้อยที่สุดเพื่อทำหน้าที่ให้สมบูรณ์มากขึ้น จุดประสงค์คือเพื่อทำให้การพัฒนาแอปพลิเคชันเว็บง่ายขึ้นและเร็วขึ้น ด้วยเหตุนี้ ThinkPHP จะยังคงดูดซับและบูรณาการเทคโนโลยีที่ดีกว่าต่อไปเพื่อให้มั่นใจว่ามีความสดใหม่และมีชีวิตชีวา และมอบแนวปฏิบัติที่ดีที่สุดสำหรับการพัฒนาแอปพลิเคชันเว็บ! ThinkPHP ได้รับการเผยแพร่ภายใต้ข้อตกลงสิทธิ์การใช้งานโอเพ่นซอร์ส Apache2 ซึ่งหมายความว่าคุณสามารถใช้ ThinkPHP ได้ฟรี และ แม้กระทั่งช่วยให้คุณสามารถวางงานของคุณบนแอปพลิเคชันที่พัฒนาโดย ThinkPHP นั้นเป็นโอเพ่นซอร์สหรือมีการเผยแพร่/จำหน่ายผลิตภัณฑ์เชิงพาณิชย์
การอัปเดตเวอร์ชัน ThinkPHP v3.0RC2 เมื่อเปรียบเทียบกับเวอร์ชัน 3.0RC1 มีดังต่อไปนี้:
[ระบบ]
[การแก้ไข] แก้ไขพารามิเตอร์ที่สองของวิธี R ที่จะส่งผ่านไปยังอาร์เรย์
[แก้ไข] แก้ไขปัญหาการรวบรวมเทมเพลตในโหมดปรับใช้
[ใหม่] เพิ่มไฟล์การกำหนดค่า core.php ของโปรเจ็กต์เพื่อผนวกไฟล์รายการคอมไพล์หลักของโปรเจ็กต์
[ใหม่] เพิ่มวิธีการจัดวางเพื่อควบคุมไฟล์รายการเค้าโครง
[ใหม่] ไลบรารีฟังก์ชันฟังก์ชันเพิ่มฟังก์ชันการติดตาม ซึ่งใช้ในการตั้งค่าข้อมูลการติดตามหน้า และปรับแต่งการแสดงผล และปรับส่วนขยายและเทมเพลตพฤติกรรมการติดตามหน้า แทนที่จะเรียกวิธีการติดตาม
[การปรับปรุง] ปรับวิธี alias_import ให้เหมาะสม
[การปรับปรุง] ปรับปรุงการตัดสินของไดเรกทอรีไลบรารีโครงการนำเข้า
[การปรับปรุง] วิธีการ buildApp ของคลาส Think ปรับปรุงคำจำกัดความของนามแฝงสคีมาและคำจำกัดความนามแฝงของโครงการเพื่อรองรับคำจำกัดความพร้อมกันของคำจำกัดความไฟล์สาธารณะของโหมดการยกเลิก ซึ่งสามารถโหลดได้โดยตรงในรายการไฟล์หลัก
[การปรับปรุง] เพิ่มฟังก์ชันเซสชันลงในไลบรารีฟังก์ชันระบบเพื่อใช้งานคลาสแอปเซสชันเพื่อปรับปรุงการรองรับเซสชัน
[การปรับปรุง] ปรับปรุงคลาส View หากตั้งค่าเอ็นจิ้นเทมเพลตเป็น PHP ส่วนขยายลักษณะการทำงานของแท็ก view_parse จะไม่ถูกเรียก
[การปรับปรุง] ไฟล์การกำหนดค่าข้อมูลการติดตามที่กำหนดเองของโครงการจะถูกรวมเข้ากับหน้าเริ่มต้นของระบบการติดตาม
[การปรับปรุง] คลาส LOG ปรับปรุงการสนับสนุนสำหรับการกำหนดค่าวิธีการบันทึกวันที่แตกต่างกันและพารามิเตอร์อื่นๆ ไฟล์การกำหนดค่าทั่วไปจะเพิ่ม LOG_TYPE, LOG_DEST และ LOG_EXTRA เพื่อกำหนดค่าพารามิเตอร์ LOG_RECORD_LEVEL และเปลี่ยนชื่อเป็น LOG_LEVEL
[การปรับปรุง] ปรับการนำเข้าไฟล์ของวิธีการนำเข้าให้เหมาะสม และอย่านำเข้าหากชื่อคลาสขัดแย้งกัน
[การปรับปรุง] ปรับปรุงวิธีการโหลดของไลบรารีฟังก์ชันระบบ
[การปรับปรุง] เพิ่มการตรวจจับการเข้าถึงไฟล์รันไทม์และนามแฝง
[การปรับปรุง] แก้ไขข้อผิดพลาดที่เวลาทำงานของผู้บริหารเป็นลบหลังจากเปิดใช้งานการติดตามเพจในโหมดปรับใช้
[การปรับปรุง] แก้ไขการตัดสินของคลาส Widget บน Think Engine
[การปรับปรุง] ค่าคงที่เส้นทางของระบบได้รับอนุญาตให้ถูกกำหนดใหม่
[ลบ] ลบฟังก์ชัน mkdirs ในไฟล์รันไทม์
[การกำหนดค่า]
[ใหม่] เพิ่มค่าคงที่ THINK_RELEASE เพื่อกำหนดเวอร์ชันบรรจุภัณฑ์ปัจจุบัน
[ใหม่] มีการเพิ่มพารามิเตอร์ SESSION_OPTIONS SESSION_TYPE และ SESSION_PREFIX ในการกำหนดค่าทั่วไป
[การปรับปรุง] การปรับเปลี่ยนพารามิเตอร์ในการดีบักไฟล์การกำหนดค่าการดีบักเริ่มต้นของระบบ
[ลบ] ลบพารามิเตอร์การกำหนดค่าที่ไม่ได้ใช้หรือซ้ำซ้อนสำหรับพฤติกรรมภายในของระบบ
[ลบ] ลบการกำหนดค่า DB_SUFFIX
[แม่แบบ]
[แก้ไข] แก้ไขข้อผิดพลาดของเครื่องมือเทมเพลต {$Think.template} ที่ส่งออกเทมเพลตปัจจุบัน
[การปรับปรุง] ปรับแคชการคอมไพล์ของเอ็นจิ้นเทมเพลตให้เหมาะสม ลบ ?>[การปรับปรุง] เพิ่มระหว่างนามแฝงกับแท็ก Range รองรับระหว่างและไม่อยู่ระหว่างการพิจารณาช่วงเวลา
[การปรับปรุง] เอ็นจิ้นเทมเพลตในตัวเพิ่มประสิทธิภาพการรวมไฟล์ภายนอกทั้งหมดและดำเนินการแยกวิเคราะห์แท็กแบบรวม
[การแก้ไข] การแก้ไขเส้นทาง basepath เริ่มต้นของแท็กนำเข้าของไลบรารีแท็ก Cx ในตัว
[การปรับปรุง] เพิ่มแอตทริบิวต์การแทนที่ให้กับแท็กเลย์เอาต์เพื่อกำหนดสตริงการแทนที่เนื้อหาในเทมเพลตเลย์เอาต์
[การปรับปรุง] เพิ่มประสิทธิภาพการแยกวิเคราะห์แท็กและการประมวลผลการแทนที่
[การปรับปรุง] หากแท็กในไลบรารีแท็ก CX สามารถซ้อนกันได้สองระดับตามค่าเริ่มต้น
[การปรับปรุง] แก้ไขข้อบกพร่องของเทมเพลตเลย์เอาต์ เทมเพลตเลย์เอาต์แยกวิเคราะห์การปรับลำดับได้สองวิธี
[แคช]
[ใหม่] เพิ่มส่วนขยายพฤติกรรมแคชแบบคงที่
[การปรับปรุง] พารามิเตอร์การหมดเวลาของไดรเวอร์ Redis ถูกเปลี่ยนให้ตั้งค่าโดยพารามิเตอร์การกำหนดค่า DATA_CACHE_TIMEOUT
[การปรับปรุง] พารามิเตอร์การหมดเวลาของไดรเวอร์แคช Memcacheh เปลี่ยนไปเพื่อรับผ่าน C (DATA_CACHE_TIMEOUT)
[แบบอย่าง]
[การปรับปรุง] วิธีการรวมได้รับการปรับปรุงเพื่อรองรับการดำเนินการและสตริง UNION ALL
[การปรับปรุง] พารามิเตอร์ที่สองของวิธีการสร้างอินสแตนซ์ของโมเดลอนุญาตให้ส่งค่า null เพื่อระบุว่าไม่มีคำนำหน้าตารางข้อมูล และยังส่งผลต่อพารามิเตอร์ตัวที่สองในวิธี M
[การปรับปรุง] ปรับปรุงการรับแคชฟิลด์หลังจากการสลับหลายฐานข้อมูล
[การปรับปรุง] ปรับปรุงการจัดการค่า Null ที่ส่งผ่านไปยังวิธีการรวมของคลาส Model
[การแก้ไข] แก้ไขปัญหาที่คลาสไดรเวอร์ Mysqli ทำข้อผิดพลาดเมื่อไม่ได้กำหนดค่าพารามิเตอร์ db_port
[การปรับปรุง] ปรับแอตทริบิวต์ selectSql %FIELDS% ของคลาส db เป็น %FIELD% เพื่อให้สอดคล้องกับการดำเนินการที่สอดคล้องกัน
[ขยาย]
[ใหม่] เพิ่มไดรเวอร์เซสชันประเภท Db
[การแก้ไข] แก้ไขข้อผิดพลาด setLazyInc และ setLazyDec ในส่วนขยายโมเดลขั้นสูง และลบพารามิเตอร์บางตัวที่ไม่ได้ใช้อีกต่อไป
[การแก้ไข] แก้ไขข้อผิดพลาดในเมธอด dateAdd ของคลาส ORG.Util.Date ของไลบรารีคลาสขยาย
[การปรับปรุง] การปรับเปลี่ยนส่วนขยายโหมด PHPRPC และ REST
[การปรับปรุง] การดึงข้อมูลวิธีการอินเทอร์เฟซโปรแกรมควบคุมเทมเพลตจะลบตัวแปรชุดอักขระ
[การปรับปรุง] ลบฟังก์ชัน send_http_status ในไลบรารีฟังก์ชันส่วนขยายส่วนขยาย
[การปรับปรุง] แก้ไขปัญหาความเข้ากันได้ของคำจำกัดความวิธีการของลักษณะการทำงานแบบขยาย
[การปรับปรุง] โหมด REST ปรับปรุงกฎการกำหนดเส้นทางภายใต้โหมดพัก และปรับเพื่อหลีกเลี่ยงประเภทคำขอที่แตกต่างกันและข้อกำหนดการกำหนดเส้นทางประเภททรัพยากรสำหรับที่อยู่การเข้าถึง URL เดียวกัน
[การปรับปรุง] แก้ไขการสกัดกั้นภาษาจีนแบบสุ่มของวิธี randString ของไลบรารีคลาสขยาย ORG.Util.String คลาส
[การปรับปรุง] รองรับไดเร็กทอรีไดเร็กทอรีไดร์เวอร์ตัวจัดการเซสชันเพื่อเพิ่มไดเร็กทอรีย่อยเซสชัน
[ลบออก] ลบส่วนขยายพฤติกรรม DbSession
[ลบ] ลบคลาสส่วนขยาย ORG.Util.HtmlCache
[ลบ] ลบวิธีรหัสยืนยันขั้นสูงของคลาสรูปภาพ
[อื่น]
[การปรับปรุง] แก้ไขการกำหนดค่าเพจที่ขาดหายไปของตัวอย่างเพจ
[การปรับปรุง] แก้ไขข้อผิดพลาดในการดาวน์โหลดไฟล์แนบของตัวอย่างบล็อก
[การปรับปรุง] การปรับข้อกำหนดรหัส
[การปรับปรุง] ข้อกำหนดการกำหนดวิธีไดรเวอร์แคช
[การปรับปรุง] ข้อกำหนดคลาสไดรเวอร์ฐานข้อมูล
[แซะ]
[ใหม่] เพิ่มไฟล์ฟังก์ชั่นการปรับให้เรียบ
[การปรับปรุง] SAE คอมไพล์ SaeMC ลงในแคชหลัก และ ThinkPHP เวอร์ชัน SAE ยังสามารถอนุญาตให้แคชการคอมไพล์แทนที่ไฟล์รายการได้