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]); # PDOStatement
Diese 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/route
Benutzt 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;