Um eine neue Route zu registrieren bearbeite Routes/routes.php und füge die benötigte route hinzu
Router::get('/neue/Route', 'ControllerFuerRoute@FunktionInController')Router::post(...)Router::put(...)
Router::patch(...)Router::delete(...)Router::get(...)->name("NameDerRoute")Router::get('/notes/show/{id}', 'ControllerFuerRoute@FunktionMitParameter');Um einen neuen Controller zu erstellen erstelle eine neue datei in App/Controllers oder in einem Unterordner
<?php
namespace App\Controllers;
class ControllerFuerRoute {
function FunktionInController($request) {
Response::view('notes.about', ["name" => "john"]);
}
function FunktionMitParameter($request, $id) {
$arr = ["name"=>"john", "age"=>12]
Response::json($arr, 200);
}
}In PHPFrame gibt es verschiedene arten daten auszugeben
Alle view Dateien befinden sich in dem Ordner Views oder in einem der Unterordner
Response::view('unterordner.viewDateiNameOhneEndung');View Dateien werden in folgendem Format benannt: <Name>.view.php
Um daten als JSON auszugeben kann man die funktion json() benutzen:
Response::json($daten)Um einen Redirect durchzuführen kann man die funktion redirect() verwenden:
Response::redirect($path,$before,$after)Wobei before ein funktio ist
um raw daten auszugeben kann man die funktion response() verwenden:
Response::response($daten)Um die datenbank zu konfigurieren bearbeite die config.php Datei
Für sqlite:
<?php
use function Core\base_path;
return $config = [
"db" => [
"connection" => "sqlite",
"name" => base_path('Database/database.sqlite'),
],
"debug" => "false",
"url" => "http://localhost:8000"
];Für mysql
<?php
return $config = [
"db" => [
"connection" => "mysql",
"host" => "localhost:3306"
"name" => "DatenbankName",
"username" => "username",
"password" => "password"
],
"debug" => "false",
"url" => "http://localhost:8000"
];Um eine Datenbank anfrage zu tätigen füre $db = App::resolve('Core\Database\Database')
$stmt = $db->query("Select * from table where id=:id and name=':name'", ["id" => $id, "name" => $name]); # PDOStatementDiese funktion gibt ein PDOStatement zurück. Das heißt alle funktionen die hier genannt werden sind verfügbar.
Alle Variablen die vom controller durch die funktion Response::view() übergeben wurden sind hier verfügbar.
Verfügbare funktionen
out($name)Gibt String aus. Wird vorher escaped.
outNoEscape($name)Gibt String aus. Wird vorher nicht escaped
asset("styles.css") gibt tag (<link>, <script>, ...) zurück für die datei. Alle asset dateien befinden sich in /public/assets/
Diese funktion funktioniert nur für lokale dateien, stylesheets oder scripts aus dem Internet müssen manuell hinzugefügt werden.
url("pfad/zu/route") // // http://localhost:8080/pfad/zu/routeBenutzt die in config.php definierte url und hängt gegebenen pfad an
routePath($name)gibt pfad zurück für eine benannte route.
route($name, ["id" => 4])gibt pfad zurück für eine benannte route und ersetzt parameter in route durch gegebene werte.
Jede funktion muss importiert werden
use function Core/out;
use function Core/outNoEscape;
use function Core/asset;
use function Core/url;
use function Core/routePath;
use function Core/route;