Avec ce cadre, vous pouvez créer une application PHP basée sur MVC (Model-View-Controller) ou simplement l'utiliser comme collection de classes PHP utiles. Toutes les parties du cadre peuvent être utilisées individuellement.
Voir l'APIIndex pour toutes les classes et méthodes disponibles.
Veuillez vous référer à l' exemple de l'application pendant que la documentation se trouve dans cet état incomplet.
Vous pouvez installer JSMF via Composer. Ajoutez la dépendance suivante à votre compositeur.json
{
"require" : {
"janst123/jsmf" : " >=1.0.0 "
}Vous pouvez également cloner JSMF à partir de ce référentiel (utiliser les balises de version ou cloner la branche maître pour les dernières modifications). Dans ce cas, vous devez rédiger votre propre Autoloader.
Ce n'est nécessaire que si vous souhaitez baser l'ensemble de votre application sur JSMF. Vous pouvez également utiliser des classes uniques, en utilisant le JSMF Autoloader ou la vôtre.
Placez ce code dans le fichier d'index de votre applications. Rachetez toutes les demandes via ce fichier (voir ce Gist pour une introduction sur la façon d'acheter toutes les demandes vers index.php avec Apache) en utilisant cette configuration minimale permettra à la classe d'application JSMF déterminer le modèle / contrôleur / action de l'URL de la demande (http: // hôte / module / contrôleur / action).
Si une ou plusieurs pièces d'URL ne sont pas présentes, l'application utilisera toujours l'action "Index" (le contrôleur "Index", le module "Index").
Exemple: la demande de http: // hôte essaiera d'appeler le module "index" -> indexController -> INDEXACTION, DEMAND
<?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
}