ด้วยเฟรมเวิร์กนี้คุณสามารถสร้างแอปพลิเคชั่น PHP ที่ใช้ MVC (Model-View-Controller) ทั้งหมดหรือใช้เป็นชุดของคลาส PHP ที่มีประโยชน์ ทุกส่วนของเฟรมเวิร์กสามารถใช้เป็นรายบุคคลได้
ดู APIINDEX สำหรับคลาสและวิธีการทั้งหมดที่มีอยู่
โปรดดู แอปพลิเคชันตัวอย่าง ในขณะที่เอกสารอยู่ในสถานะที่ไม่สมบูรณ์นี้
คุณสามารถติดตั้ง JSMF ผ่านนักแต่งเพลง เพิ่มการพึ่งพาต่อไปนี้ให้กับนักแต่งเพลงของคุณ json
{
"require" : {
"janst123/jsmf" : " >=1.0.0 "
}นอกจากนี้คุณยังสามารถโคลน JSMF จากที่เก็บนี้ (ใช้แท็กเวอร์ชันหรือโคลนสาขาหลักสำหรับการเปลี่ยนแปลงล่าสุด) ในกรณีนี้คุณต้องเขียน autoloader ของคุณเอง
สิ่งนี้จำเป็นก็ต่อเมื่อคุณต้องการใช้แอปพลิเคชันทั้งหมดของคุณใน JSMF คุณยังสามารถใช้คลาสเดียวโดยใช้ JSMF Autoloader หรือของคุณเอง
วางรหัสนี้ในไฟล์ดัชนีแอปพลิเคชันของคุณ เส้นทางคำขอทั้งหมดผ่านไฟล์นี้ (ดูส่วนสำคัญนี้สำหรับการแนะนำเกี่ยวกับวิธีการกำหนดเส้นทางคำขอทั้งหมดไปยัง index.php ด้วย apache) โดยใช้การตั้งค่าขั้นต่ำนี้จะช่วยให้คลาส JSMF Application กำหนดรูปแบบ/คอนโทรลเลอร์/การกระทำจาก URL คำขอ (HTTP: // โฮสต์/โมดูล/คอนโทรลเลอร์/การกระทำ)
หากไม่มีส่วน URL หนึ่งชิ้นหรือมากกว่านั้นแอปพลิเคชันจะใช้การกระทำ "ดัชนี" เสมอ (คอนโทรลเลอร์ "ดัชนี" โมดูล "ดัชนี")
ตัวอย่าง: การร้องขอ http: // โฮสต์จะพยายามเรียกโมดูล "ดัชนี" -> indexcontroller -> indexaction, ขอ http: // host/misch/faq จะเรียกโมดูล "อื่น ๆ " -> faqcontroller -> indexaction
<?php
define ( ' DEV_SERVER ' , true ); // define this
define ( ' SRC ' , realpath ( dirname ( __FILE__ ) . ' /../ ' ));
require ( SRC . ' /vendor/autoload.php ' );
try {
// optional: load an application wide config
JSMF Config:: load ( SRC . ' /config/base.config.php ' );
// optional: load application wide translations
JSMF Language:: loadTranslations ( SRC . ' /language/translations ' , ' de ' );
// optional: route special URLs to special modules / controllers / actions ( I always place the legal texts in a Module named misc)
JSMF Request:: addRoute ( ' /^/disclaimer/?$/i ' , ' misc ' , ' index ' , ' disclaimer ' ); // route a request to /disclaimer to the disclaimer Action in the IndexController in the module "misc"
JSMF Request:: addRoute ( ' /^/privacy/?$/i ' , ' misc ' , ' index ' , ' privacy ' );
// register the autoloader and run the application
JSMF Application:: registerAutoloader ();
JSMF Application:: run ();
// output the applications response (can be HTML, JSON ...)
JSMF Response:: output ();
} catch ( JSMF Exception NotFound $ e ) {
// do some special things for not-found errors e.g. redirect to a static 404 page
JSMF Request:: redirect ( ' /404.html ' );
JSMF Response:: output (); // output method also sends the headers (here: the Location header)
} catch ( JSMF Exception $ e ) {
// output is done by JSMF
JSMF Response:: setException ( $ e );
JSMF Response:: output ();
} catch ( Exception $ e ) {
// do something on common non-JSMF Exception
}