باستخدام هذا الإطار ، يمكنك إنشاء تطبيق PHP كامل MVC (عرض موديل-View-View) أو فقط استخدامه كمجموعة من فئات PHP المفيدة. يمكن استخدام جميع أجزاء الإطار بشكل فردي.
انظر Apiindex لجميع الفصول والأساليب المتاحة.
يرجى الرجوع إلى تطبيق المثال أثناء الوثائق في هذه الحالة غير المكتملة.
يمكنك تثبيت JSMF عبر الملحن. أضف التبعية التالية إلى composer.json
{
"require" : {
"janst123/jsmf" : " >=1.0.0 "
}يمكنك أيضًا استنساخ JSMF من هذا المستودع (استخدم علامات الإصدار أو استنساخ الفرع الرئيسي للحصول على أحدث التغييرات). في هذه الحالة ، عليك أن تكتب التحميل التلقائي الخاص بك.
هذا مطلوب فقط إذا كنت تريد أن تبني تطبيقك بالكامل على JSMF. يمكنك أيضًا استخدام فئات واحدة ، باستخدام jsmf autoloader أو خاص بك.
ضع هذا الرمز في ملف فهرس التطبيقات. قم بتوجيه جميع الطلب من خلال هذا الملف (انظر هذا gist للحصول على مقدمة حول كيفية توجيه جميع الطلبات إلى الفهرس.
في حالة عدم وجود أجزاء عناوين URL أو أكثر ، سيستخدم التطبيق دائمًا إجراء "الفهرس" (وحدة التحكم "الفهرس" ، وحدة "الفهرس").
مثال: سيحاول طلب http: // المضيف الاتصال بالوحدة النمطية "الفهرس" -> indexController -> 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
}