Skip to content

noah1400/PHPFrame

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PHPFrame

Docs

Routen registrieren

Um eine neue Route zu registrieren bearbeite Routes/routes.php und füge die benötigte route hinzu

Typen

GET
Router::get('/neue/Route', 'ControllerFuerRoute@FunktionInController')
Post
Router::post(...)
PUT/PATCH
Router::put(...)
Router::patch(...)
DELETER
Router::delete(...)

Routen bennenen

Router::get(...)->name("NameDerRoute")

Routen mit paramtern

Router::get('/notes/show/{id}', 'ControllerFuerRoute@FunktionMitParameter');

Controllers

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);
    }

}

Responses

In PHPFrame gibt es verschiedene arten daten auszugeben

Views

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

JSON

Um daten als JSON auszugeben kann man die funktion json() benutzen:

Response::json($daten)

Redirect

Um einen Redirect durchzuführen kann man die funktion redirect() verwenden:

Response::redirect($path,$before,$after)

Wobei before ein funktio ist

Raw daten

um raw daten auszugeben kann man die funktion response() verwenden:

Response::response($daten)

Datenbank

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"
    ];

queries

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.

View templates

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;

About

A extremely lightweight php framework

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages