PHPEasy ist ein API-zentriertes PHP-Framework. Code so nahe an PHP -Sprache selbst und nicht an einem Framework.
I. Intro
Ii. Voraussetzungen
III. Installation
Dies ist für jemanden, der Vanille -PHP und seine Einfachheit liebt. Heutzutage müssen Sie die Codierungsstandards (OOP, fest, trocken usw.) und MVC -Frameworks befolgen, um die Webentwicklung mit PHP durchzuführen. PHP -Frameworks da draußen sind zu viele Dateien, Konfigurationen, Klassen und Abhängigkeiten ausgestattet. Ich habe diesen Mini -Framework gemacht, damit PHP -Entwickler die Webentwicklung schneller durchführen können, während sie die PHP -Sprache selbst beherrschen und genießen (ja! Sie müssen nicht so viele Bibliotheken lernen).
Komponist - Öffnen Sie ein Terminal in Ihrem Wurzel- oder HTDOCS -Ordner und führen Sie den folgenden Befehl aus.
composer create-project vgalvoso/phpeasy my_phpeasy
Sie können [my_phpeasy] in jedem gewünschten Projektnamen ändern.
Öffne jetzt deinen Browser und gehe zu http: // localhost/my_phpeasy
Erstellen Sie Ansichten im Ordner "Ansicht".
Die Ansichtsrouten werden automatisch basierend auf der Ordnerstruktur der Ansicht erstellt.
Schauen Sie sich die folgenden Beispiele an.
Sie können den Dateinamen besitzen, wenn die Ansichtsdatei [index.php] heißt:
(SPA) Einzelseiten -Anwendungen bestehen aus Ansichtskomponenten.
Die Ansichtskomponenten sind nur über AJAX -Anfragen zugänglich.
Rufen Sie einfach Core/Helper/component () an; oben in der Ansichtsdatei, um sie als Ansichtskomponente anzugeben.
Beispiel: View/Admin/user_table.php
< ?= Core/Helper/component(); ? >
< table >
< thead >
< tr >
< th > Username </ th >
< th > First Name </ th >
< th > Last Name </ th >
</ tr >
</ thead >
< tbody id =" users_tbl " >
< tr > < td > No Contents </ td > </ tr >
</ tbody >
</ table > Phpeasy unterstützt REST -API.
Alle APIs werden im API -Ordner platziert.
API -Routen werden automatisch über die API -Ordnerdateistruktur erstellt und Funktionen in der mit HTTP -Verben genannten PHP -Datei implementiert, z.
So haben Sie beispielsweise die Funktion delete () weggelassen, Sie können das Delete -API/Benutzer/{ID} nicht aufrufen.
Hier ist ein Beispiel für eine API von Benutzern.
API -Dateipfad: [api/user.php]
Routen:
<?php
use Core DAL ;
use function Core Helper error ;
use function Core Helper getRequestBody ;
use function Core Helper response ;
use function Core Helper startAPI ;
startAPI ();
function get (){
$ db = new DAL ();
//GET user by id
if ( defined ( ' URI_PARAM ' )){
$ query = " SELECT * FROM users WHERE id = :id " ;
$ param = [ " id " => URI_PARAM ];
if (! $ user = $ db -> getItem ( $ query , $ param ))
response ([]);
response ([ $ user ]);
}
//GET All users
$ query = " SELECT * FROM users " ;
$ users = $ db -> getItems ( $ query );
response ( $ users );
}
function post (){
$ db = new DAL ();
$ rq = ( object ) getRequestBody ();
$ values = [
" username " => $ rq -> username ,
" firstname " => $ rq -> firstname ,
" lastname " => $ rq -> lastname ,
" usertype " => $ rq -> usertype ,
" password " => password_hash ( $ rq -> password , PASSWORD_BCRYPT )
];
if (! $ db -> insert ( " users " , $ values ))
error ( $ db -> getError ());
response ( " New User added! " );
}
function delete (){
if (! defined ( ' URI_PARAM ' ))
error ( " Invalid Request! Please specify user id " );
$ db = new DAL ();
$ id = URI_PARAM ;
if (! $ db -> delete ( " users " , " id=:id " ,[ " id " => $ id ]))
error ( $ db -> getError ());
response ( " User Deleted Successfuly! " );
}
function patch (){
if (! defined ( ' URI_PARAM ' ))
error ( " Invalid Request! Please specify user id " );
$ db = new DAL ();
$ id = URI_PARAM ;
$ rq = ( object ) getRequestBody ();
$ values = [
" firstname " => $ rq -> firstname ,
" lastname " => $ rq -> lastname ];
$ params = [ " id " => $ id ];
$ db = new DAL ();
if (! $ db -> update ( " users " , " id=:id " , $ values , $ params ))
error ( $ db -> getError ());
response ( " User Updated Successfuly " );
}
//EOF APIs in Phpeasy fördern einen prozeduralen Codierungsstil,
Hier finden Sie die Liste der Funktionen, die Sie in API -Implementierungen verwenden können:
Initialisieren Sie eine PHP -Datei als REST -API.
Nach dem Aufrufen dieser Funktion können Sie HTTP -Verben als Funktion implementieren.
Beispiel:
<?php
use function Core Helper startAPI ;
startAPI ();
function get (){
//Handle GET request to api/users
}Die Fehlerantwort wird empfangen, wenn Sie versuchen, andere HTTP -Methoden als GET anzufordern.
Holen Sie sich Anfrage und wandeln Sie ihn in Assoc -Array um.
Beispiel:
<?php
use Core Helper getRequestBody ;
$ rq = getRequestBody ();
$ username = $ rq [ " username " ];
$ password = $ rq [ " password " ];
//you can convert it to object for easy access
//$rq = (object)$rq;
//$username = $rq->username;
//$password = $rq->password; Validieren Sie ein Schlüsselwert-Paar-Array anhand der Validierungsregeln.
$inputs - assoziatives Array zu validieren.$validations - Assoziatives Array mit Schlüssel, die Schlüssel in $ Daten und Werten übereinstimmen, sind die Validierungsregeln.Beispiel:
<?php
use function Core Helper getRequestBody ;
use function Core Validator validate ;
$ rq = getRequestBody ();
$ dataRules = [ " uname " => " required|string " ,
" upass " => " required|string " ,
" firstName " => " required|string " ,
" lastName " => " required|string " ];
validate ( $ rq , $ dataRules );Ausgabe der Antwort mit 400 Statuscode und Fehlermeldung
$message - Zeichenfolge | Array -Fehlermeldung Legen Sie den Inhaltstyp und den Statuscode fest, geben Sie den Inhalt aus und beenden Sie das Skript
$content | Array - Der Inhalt der Ausgabe ist Ausgabe$statusCode INT - Der Antwortstatuscode (Standard 200)$contentType String - Der Inhaltstyp (Standardanwendung/JSON). Verfügbare Inhaltstypen: [Anwendung/JSON | einfach/text | Text/HTML] Fügen Sie die angegebene Ansicht ein
$route - Dateipfad anzeigenMeistens zum Aufrufen von Spa -Komponenten verwendet
Umleiten zur angegebenen Ansicht.
Wenn der Pfad nicht angegeben ist, leiten Sie nach Sitzung um.
$view String - Pfad zur Anzeige Kürzere Syntax für htmlspecialChars ()
$string - String, um zu sanierenGenerieren Sie einen randomisierten alphanumerischen Code
$length - Länge des zu generierten Codes (Standard 6) Extrahieren Sie Objektschlüssel und -werte und speichern Sie das Sitzungsarray
$object - Das Objekt zum Extrahieren von Beispiel: <?php
use Core DAL ;
$ db = new DAL ();
if (! $ user = $ db -> getItem ( 1 ))
invalid ( " User does not exist! " );
objToSession ( $ userInfo );Generieren Sie einen neuen Dateinamen und laden Sie die Datei hoch
string $uploadFile $ _fileschlüsselstring $uploadPath -Speicherort für die Upload -Datei muss "/" zum Ende hinzufügenEine Sitzungsvariable abrufen/festlegen
$sessionVar - Sitzungsschlüssel$value - legt einen Sitzungswert fest, wenn null Konvertieren Sie ein Array von Objekten in das indizierte Array, das Werte des angegebenen Elements enthält.
$objArr - Array If ibjects zu konvertieren$item - Objektelement zum Extrahieren PHPEasy führt die DAL () -Klasse für Datenbankoperationen ein. Unterstützt MySQL, MSSQL und SQLite.
Stellen Sie die Datenbankkonfigurationen in config/database.php fest
Unten finden Sie DAL () -Funktionen
$ db = new DAL ();Führt eine Einfügeanweisung aus;
$table - Der zugefügte Tabellenname$values - assoziatives Array, das Schlüssel enthält, die Tabellenfelder übereinstimmen, und die zu einfügigen Werte.Beispiel:
$ values = [ " username " => $ uname ,
" password " => $ upass ,
" firstname " => $ firstName ,
" lastname " => $ lastName ];
$ db -> insert ( " users " , $ values );Führt die Aktualisierungsanweisung aus
string $table Die Tabelle zum Aktualisierenstring $condition zB. id =: idarray $values assoziatives Array, das Werte enthält, um zB zu aktualisieren. ["age" => 27]array $params für Bedingungen z. ["id" => 1]Beispiel:
$ values = [
" firstname " => $ firstName ,
" lastname " => $ lastName ];
$ params = [ " id " => 1 ];
$ db = new DAL ();
$ db -> update ( " users " , " id=:id " , $ values , $ params );Führen Sie eine Anweisung aus
string $table Die Tabelle zum Löschen vonstring $condition Bedingungen unter Verwendung vorbereiteter Anweisung zB. id =: id und name =: namearray $params für Bedingungen z. ["ID" => 1, "Name" => "Juan Dela Cruz"]Beispiel:
$ delete ( " users " , " id=:id " ,[ " id " => 1 ]);Wählen Sie mehrere Elemente aus
string $query Auswählen Anweisungarray $inputs Parameter für die vorbereitete Anweisung Standard (NULL)Beispiel:
$ db = new DAL ();
$ sql = " SELECT * FROM users WHERE lastname = :surname " ;
$ params = [ " surname " => $ lastName ];
$ users = $ db -> getItems ( $ sql , $ params );Wählen Sie eine Zeilenabfrage
string $query Auswählen Anweisungarray $inputs Parameter für die vorbereitete Anweisung Standard (NULL)Beispiel:
$ db = new DAL ();
$ sql = " SELECT * FROM users WHERE id=:userId " ;
$ params = [ " userId " => 1 ];
$ users = $ db -> getItem ( $ sql , $ params );Starten Sie eine Datenbanktransaktion.
Datenbanktransaktion begehen.
Rollback -Datenbank -Transaktion.
Gibt Datenbankfehler zurück
Holen Sie sich letztes ID in die Datenbank eingefügt
string $field Geben Sie ein letztes Feld an, Standardnull Holen Sie sich den derzeit verwendeten Datenbankfiver.
- api/getAllUser.php
```php
<?php
$db = new DAL();
$users = new Users($db);
$usersList = $users->getAll();
Sie können Modelle verwenden oder nicht von den Projektanforderungen.
DAL -Klasse ist direkt in API -Dateien zugegriffen. Sie können eine Abfrage direkt in der API -Implementierung ausführen, ohne ein Modell zu erstellen.
Phpeasy ist progressiv. Sie können Modelle hinzufügen, Dienste, wenn Sie möchten, einfach die Datei composer.json aktualisieren, wenn Sie ein anderes Verzeichnis hinzugefügt haben.
Sehen