JURE ist der Kern von Project Bravo, meinem persönlichen PHP -MVC -Framework, das im Wesentlichen das Verständnis von Modellen, Controller und der grundlegenden Vorlagemotor -Engine gewährleistet. Außerdem verwaltet es das Routing, die Middlewares, die Datenbank und insbesondere die super schöne hausgemachte Mini -Orm, ohne das einfache Versand von E -Mails zu vergessen.
Derzeit wird die Dokumentation für Bravo erstellt und wird in Kürze verfügbar sein. Bleiben Sie auf dem Laufenden für Updates!
Um ein Beispiel für die Verwendung von Bravo zu sehen, können Sie sich auf das Bravo -Projekt beziehen. Es dient als Demonstrationsprojekt und wird bald offizielle Unterlagen haben.
Um JUTE zu installieren, können Sie folgende Schritte befolgen:
Erfordern Sie das Paket mit dem Komponisten, indem Sie den folgenden Befehl ausführen:
composer require blakvghost/justeSobald das Paket installiert ist, können Sie JURE in Ihr PHP -Projekt integrieren.
Bitte beachten Sie, dass JUTE die folgenden Pakete als Abhängigkeiten benötigt: symfony/dotenv (version 6.2 or higher) und symfony/mailer (version 6.2 or higher) . Diese Abhängigkeiten werden automatisch installiert, wenn Sie JURE mit Composer installieren.
JURE bietet einige Dienstprogrammfunktionen, die Sie in Ihrer Anwendung verwenden können:
Die Common Fassade enthält verschiedene Nutzfunktionen:
posts() : Gibt ein Array mit allen Inhalten der globalen $ _post -Variablen zurück, die mit htmlentity () entkommen sind.server(string $key) : Gibt den Wert des angegebenen Schlüssels aus dem globalen $ _server -Array zurück.input(string $key, string $default = '') : Gibt den Wert des angegebenen Schlüssels entweder aus dem globalen $ _post- oder $ _get -Variablen zurück, mit der Option, einen Standardwert anzugeben, wenn der Schlüssel nicht festgelegt ist.file(string $key) : Gibt die Datei mit dem angegebenen Schlüssel aus der globalen Variablen $ _files zurück oder leitet mit einer Fehlermeldung auf die vorherige Seite zurück, wenn keine Datei hochgeladen wurde.redirectTo(string $path = '') : Umleitet den Benutzer mit der Funktion Header () in den angegebenen Pfad.redirecTo(string $path = '') : Umleitet den Benutzer mit der Funktion Header () in den angegebenen Pfad (Tippfehler im Code, korrigiert als recirectto).sanitize_post(string $key, bool $strict = true) : Gibt den sanitisierten Wert des angegebenen Schlüssels aus der globalen Variablen $ _post zurück, um zu validieren, dass der Schlüssel existiert und nicht leer ist.back() : Umleitet den Benutzer wieder auf die vorherige Seite.with(string $message, $key = 'error') : Legt eine Nachricht in der Sitzung mit dem angegebenen Schlüssel fest (defasiert zu 'ERROR').json(array $data) : Gibt eine von JSON codierte Zeichenfolge des angegebenen Arrays zurück.user($attr = false) : Gibt aktuelle authentifizierte Benutzerinformationen oder ein leeres Array zurück, wenn nicht authentifiziert wird.store_media($file, string $newFileName) : Speichert eine Mediendatei mit dem angegebenen Namen und gibt die Datei zurück - Pfad oder leitet sie mit einer Fehlermeldung zurück, wenn das Upload der Datei fehlschlägt.setDataOnSession($key, $message) : Legt Daten in der Sitzung mit dem angegebenen Schlüssel und der angegebenen Nachricht fest.getDataOnSession($key) : Ruft Daten aus der Sitzung mit dem angegebenen Schlüssel ab.setErrorMessageOnSession($message) : Legt eine Fehlermeldung in der Sitzung fest.dd($value, ...$args) : Zeigt den Wert und die zusätzlichen Argumente mit var_dump () in einem < pre> tag und beendet an.route(string $alias) : Gibt die Routen -URL für einen bestimmten Alias zurück.redirect(string $alias) : Umleitet den Benutzer für einen bestimmten Alias in die Routen -URL.Die Controller -Fassade enthält einige nützliche Funktionen für Controller -Klassen:
render($view, $title = '', $context = null) : Gibt den vollständigen Ansichtspfad oder einen 404 -Ansichtspfad mit den Kontextdaten zurück. Es prüft, ob die Datei existiert, und gibt eine entsprechende Antwort zurück.html(string $html) : Gibt ein Array mit dem vollständigen HTML -Code zurück, der für die Rückgabe von HTML -Antworten nützlich ist.can(array $user_type = null, string $column = 'roles') : Überprüft, ob der Benutzer authentifiziert ist, und die angegebenen Benutzertypen/Rollen hat. Leitet mit einer Fehlermeldung zurück, wenn der Benutzer nicht über die erforderliche Rolle verfügt.mustAuthenticate(bool $statut = true) : Überprüft, ob der Benutzer basierend auf dem angegebenen Status authentifiziert ist. Leitet mit einer Fehlermeldung weiter, wenn der Authentifizierungsstatus nicht erfüllt ist. <?php
namespace Routes ;
use App Controllers WelcomeController ;
use Juste Facades Routes Route ;
Route:: get ( " / " , [WelcomeController::class, ' welcome ' ])-> name ( ' welcome ' );
Route:: resource ( ' password ' , WelcomeController::class);
Route:: group ( function () {
})-> middlewares ([ ' auth ' ]);
require_once ' api.php ' ; <?php
namespace Routes ;
use App Controllers MailsController ;
use Juste Facades Routes Route ;
Route:: post ( ' api/mails ' , [MailsController::class, ' index ' ])-> name ( ' api ' )-> middlewares ([ ' cors ' ]); <?php
namespace App Middleware ;
use Juste Http Middleware MiddlewareInterface ;
use Juste Facades Controllers Controller as Helpers ;
class Authenticate extends Helpers implements MiddlewareInterface
{
public function handle (): mixed
{
if (! $ this -> user ()) {
return $ this -> redirect ( ' login ' );
}
return 1 ;
}
} <?php
namespace App Models ;
class User extends Model
{
protected $ table = ' users ' ;
protected $ fillable = [ ' nom ' , ' prenom ' , ' email ' , ' password ' ];
} <?php
namespace App Controllers ;
use App Controllers Controller ;
use Juste Facades Mails JusteMailer ;
class MailsController extends Controller
{
public function __construct ()
{
$ this -> mustAuthenticate ( false );
}
public function index ()
{
$ mail = new JusteMailer ();
$ object = [
' to ' => ' [email protected] ' ,
' subject ' => ' Message d ' un potentiel client ' ,
];
$ data = [
' name ' => $ this -> input ( ' name ' , " Anonymous " ),
' email ' => $ this -> input ( ' email ' , " [email protected] " ),
' subject ' => $ this -> input ( ' subject ' , " Anonyme " ),
' message ' => $ this -> input ( ' message ' , " Anonyme " ),
];
$ mail -> view ( ' mails/contact ' , $ data )-> sendEmail ( $ object );
return $ this -> back ();
}
}Um Unterstützung zu erhalten, können Sie mich per E-Mail unter [email protected] an mich wenden. Fühlen Sie sich frei, mich zu kontaktieren, wenn Sie Fragen haben oder Hilfe bei Bravo benötigen.
Dieses Projekt ist unter der MIT -Lizenz lizenziert.