Skip to content

riemerjonas/JoPi

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

The JoPI Framework

Getting started

Erstelle eine index.php im /public/ Ordner mit folgendem Code:

declare(strict_types=1);
error_reporting(E_ALL);
header('Content-Type: application/json');

use JoPi\App\Logger;
use JoPi\App\App;

require_once __DIR__ . '/../vendor/autoload.php';

// Handle errors and exceptions
set_error_handler(function ($severity, $message, $file, $line) {
    throw new ErrorException($message, 0, $severity, $file, $line);
});

// Handle exceptions
set_exception_handler(function ($e) {
    Logger::logError("'" . $e->getMessage() . "' in " . $e->getFile() . " on line " . $e->getLine());
    $reponse = array();
    $reponse['status'] = 500;
    $reponse['message'] = 'An error occured';
    $response['error'] = $e->getMessage();
    echo json_encode($reponse);
});

Logger::clearLogFile();
Logger::setLogLevel(4);

// =================================== A P P L I C A T I O N ===================================

Ändere das Logging-Verhalten entsprechend deiner Wünsche. Der Befehl Logger::clearLogFile() löscht den Log bei jeder neuen Anfrage. Dies erleichtert das Testen.

Über Logger::setLogLevel(4) kann ausgewählt werden, welche Logs erfasst werden.

  • 0 | Keine Logs
  • 1 | Fehler werden geloggt
  • 2 | Fehler & Warnungen werden geloggt
  • 3 | Fehler, Warnungen & Infos werden geloggt
  • 4 | Fehler, Warnungen, Infos & Debugs werden geloggt

Grundstruktur

Unterhalb des Application-Kommentars kann nun der eigene Code geschrieben werden. Die API wird mit folgendem Grundgerüst aufgebaut:

$app = new App('/path/to/public/');
$app->setRouteHandler("/", new \Custom\Routes\RootRoute($app));
$app->run();

Der App wird ein Parameter als String übergeben. Dieser beschreibt, wo sich der public Ordner befindet. Falls kein Parameter übergeben wird, wird /public/ verwendet. Über setRouteHandler() kann eine Route festgelegt werden. Zuletzt wird die App gestartet mit $app->run();

About

Simple PHP Rest-API framework

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages