Smart.Framework: กรอบการทำงานที่ทันสมัยทันสมัยและมีประสิทธิภาพสูง PHP / JavaScript สำหรับเว็บที่มี Middlewares + MVC
Dual-Licensed: ภายใต้ใบอนุญาต BSD หรือใบอนุญาต GPLV3 (ตามทางเลือกของคุณ)
โครงการซอฟต์แวร์นี้เป็นโอเพ่นซอร์ส
คุณต้องเลือกใบอนุญาตที่จะใช้ขึ้นอยู่กับกรณีการใช้งานของคุณ: ใบอนุญาต BSD หรือใบอนุญาต GPLV3
(c) 2008-นำเสนอ unix-world.org / [email protected]
| |
|---|
| URL สาธิต: | http://demo.unix-world.org/smart-framework/ |
| ดาวน์โหลด URL: | https://github.com/unix-world/smart.framework |
| ดาวน์โหลดโมดูล URL: | https://github.com/unix-world/smart.framework.modules |
Smart.framework Design Pricisopophy:
- aproach ที่ใช้งานได้จริง และใช้งานได้จริง: กรอบเว็บที่ใช้งานได้จริงสำหรับคนที่ใช้งานได้จริง
- จาก ประสบการณ์ก่อนหน้านี้มากกว่า 17 ปี ของการพัฒนาโครงการเว็บการวิจัยและการทดลองโดยใช้เทคโนโลยีเว็บ
- แนวทางที่มุ่งเน้นเว็บ: เพื่อเสนอ แพลตฟอร์มที่มั่นคงและปลอดภัย สำหรับการสร้างเว็บไซต์หรือแอปพลิเคชันบนเว็บสำหรับเว็บไคลเอนต์เดสก์ท็อปและโทรศัพท์มือถือ
- Clean Code: รูปแบบรหัส MVC พร้อมการฉีดขึ้นอยู่กับการพึ่งพาในตัว
- สถาปัตยกรรม ไฮบริด : หลายระดับรวมกับสถาปัตยกรรม Middlewares เพื่อให้บริการเว็บที่ยืดหยุ่นและตอบสนองได้
- สถาปัตยกรรมแบบแยกส่วน : สนับสนุนการสร้างโมดูลที่นำกลับมาใช้ใหม่ได้ (นอกจากนี้ยังมีโมดูลเทิร์นคีย์จำนวนมากที่มีอยู่ใน smart.framework.modules)
- ไลบรารีแบบแยกเต็ม : Framework Core ใช้ไลบรารีอิสระ (decoupled) ( ไม่ต้องพึ่งพาบุคคลที่สาม )
- การแยกเนมสเปซในโมดูล สำหรับ: โมเดลมุมมองคอนโทรลเลอร์และห้องสมุด
- ง่ายต่อการรวมเข้า กับห้องสมุดบุคคลที่สาม (ผู้ขาย)
- Native Cloud Server Services (ในตัว) เป็นโมดูลสำหรับ: WebDav Server, CalDav Server, CardDav Server
- ผู้ให้บริการไคลเอนต์คลาวด์ดั้งเดิม (ในตัว) เป็นไลบรารีสำหรับการเข้าถึง HTTP / HTTPS ซึ่งรองรับวิธีการ / คำขอ HTTP (S) แบบเต็มรูปแบบ: รับ, โพสต์, ใส่, ลบ, ...
- เราเตอร์พื้นเมือง อิงจากลิงค์ URL อัจฉริยะ: /?page=my-module.sample ที่สามารถใช้เป็น /?/page/my-module.sample หรือ /?/page/sample ถ้า (my-module เป็นกลุ่มเริ่มต้น)
- รวมเข้ากับ Apache rewrite เพื่อใช้ลิงก์ที่เป็นมิตรกับ SEO เช่น /sample.html แทนลิงก์แบบดั้งเดิม /?page=my-module.sample หรือลิงค์อัจฉริยะ /?/page/my-module.sample/
พัฒนาโครงการเว็บของคุณได้อย่างง่ายดายด้วย smart.framework
เป้าหมายหลักของ Smart.Framework คือการจัดหากรอบเว็บที่ใช้งานได้จริงรวดเร็วและปลอดภัย การติดตามปรัชญานี้ Smart.framework ให้ความสมดุลที่ดีที่สุดระหว่างทักษะการเข้ารหัสที่ยอมรับได้และการส่งมอบประสิทธิภาพ
มันเป็นเฟรมเวิร์กเว็บ PHP / JavaScript ที่ มี น้ำหนักเบา สถาปัตยกรรมซอฟต์แวร์ดั้งเดิมของเฟรมเวิร์กเว็บนี้ช่วยให้สามารถส่งมอบความขัดแย้ง:
- มีคุณสมบัติในตัวเริ่มต้นในฐานรหัสมากกว่าเฟรมเวิร์กที่รู้จักกันดีเมื่อเทียบกับ codeigniter, symfony หรือ laravel
- มันให้ประสิทธิภาพมากขึ้นอยู่ระหว่าง 1.5x ถึง 4x เร็วขึ้น (ตามคำขอ HTTP / วินาที) เมื่อเทียบกับ CodeIgniter, Symfony หรือ Laravel
- เมื่อใช้กับแคชแบบถาวรตามฐานข้อมูลในหน่วยความจำเช่น redis หรือ memcache มันจะเต้นเคลือบเงาในหลาย ๆ ด้าน:
- ส่งความเร็วเท่ากันกับน้ำยาวานิช แต่อนุญาตให้ใช้นโยบายการแคชระดับ granulary ของโซนในคอนโทรลเลอร์
- ทำงานด้วย HTTPS (โดยตัวอย่าง Varnish ไม่ได้)
- นโยบายการแคชสามารถควบคุมได้เพื่อหมดอายุตามเนื้อหา / รับหรือโพสต์ตัวแปรอินพุตแม้ว่าจะมีการเปลี่ยนคุกกี้
เฟรมเวิร์กซอฟต์แวร์นี้เข้ากันได้เสถียรและทดสอบอย่างแข็งขันกับรุ่น PHP 7.4 / 8.0 / 8.1 / 8.2 / 8.3 / 8.4
เวอร์ชัน PHP ที่ต้องการ คือ: 8.2 (LTS)
สถานการณ์มาตรฐาน:
การใช้คอนโทรลเลอร์แบบง่าย (ไม่มีการแคช) ที่ส่งออก: 'Hello World' มาตรฐานการทำงานโดยใช้ Apache Benchmark Suite พร้อมคำสั่งต่อไปนี้: ab -n 5000 -c 250 http://{localhost}/{framework}/{benchmark-page} แพลตฟอร์มฮาร์ดแวร์
- 2 X Intel (R) Xeon (R) CPU E5-2699 V4 @ 2.20GHz 64 บิต (รวม: 44 คอร์ / 88 เธรด)
- 512 GB RAM , DDR4 ECC @ 2133 MHz
- HDD 2 x 1TB SSD/NVME
ซอฟต์แวร์ :
- OS: Debian 12 Linux 64 บิต ทันสมัย
- แอพ: Apache 2.4.62 , PHP 8.2.26 พร้อมเปิดใช้งาน OpCache
ผลการวัดผลของเฟรมเวิร์ก PHP ที่ทดสอบแล้ว:
- smart.framework v.8.7 [email protected] พร้อม markerstpl templating: ~ 8.878k (8878) คำขอต่อวินาที
- CodeIgniter v.4.5 พร้อมกับ php templating: ~ 5.864K (5864) คำขอต่อวินาที ( ช้ากว่า 1.5x กว่า Smart.framework )
- Symfony 7.2 พร้อม Twig Templating: ~ 2.763K (2763) คำขอต่อวินาที ( ช้ากว่า Smart.framework) 3x )
- Laravel 11.4 พร้อมใบมีดเทมเพลต: ~ 2.214K (2214) คำขอต่อวินาที ( ช้ากว่า 4x Smart.framework )