このフレームワークを使用すると、MVC(Model-View-Controller)ベースのPHPアプリケーション全体を構築するか、有用なPHPクラスのコレクションとして使用できます。フレームワークのすべての部分は個別に使用できます。
利用可能なすべてのクラスとメソッドについては、APIINDEXを参照してください。
ドキュメントがこの不完全な状態にある間、アプリケーションのサンプルを参照してください。
Composer経由でJSMFをインストールできます。次の依存関係をComposer.jsonに追加します
{
"require" : {
"janst123/jsmf" : " >=1.0.0 "
}また、このリポジトリからJSMFをクローンすることもできます(バージョンタグを使用するか、最新の変更のためにマスターブランチをクローンします)。この場合、独自のオートローダーを書く必要があります。
これは、アプリケーション全体をJSMFに基づいている場合にのみ必要です。また、JSMF Autoloaderまたは独自のクラスを使用することもできます。
このコードをアプリケーションインデックスファイルに配置します。この最小セットアップを使用して、このファイルを通じてすべてのリクエスト(この要求をindex.phpにルーティングする方法に関する紹介については、この要求を参照してください)を使用すると、JSMF アプリケーションクラスはリクエストURL(http:// host/module/controller/action)からモデル/コントローラー/アクションを決定できます。
1つ以上のURLパーツが存在しない場合、アプリケーションは常に「インデックス」アクション(「インデックス」コントローラー、「インデックス」モジュール)を使用します。
例:http://ホストの要求は、モジュール "index" - > indexcontroller-> indexaction、http:// host/misc/faqへのリクエストモジュール "index" - > indexcontroller-> indexcontrollerを呼び出します。
<?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
}