Die Vision dieses Projekts besteht darin, Entwickler zu befähigen, grundlegende CRUD -Operationen mühelos durchzuführen, ohne dass ein benutzerdefiniertes PHP -Code geschrieben werden muss. Die Skripte sind dynamisch ausgelegt, sodass Benutzer einfach mit der API interagieren können, indem sie einfach die bereitgestellte Dokumentation verstehen und HTTP -Anforderungen erstellen.
create.php )read.php )update.php )delete.php )file-upload.php )Diese Dokumentation bietet einen Überblick über eine Reihe von PHP -Skripten, die für grundlegende CRUD -Operationen (Erstellen, Lesen, Aktualisieren, Löschen) und Datei -Uploads entwickelt wurden. Die Skripte sollen als API zum Verwalten von Daten in einer relationalen Datenbank verwendet werden.
Dieses Projekt enthält eine Reihe von PHP -Skripten, die als einfache API für die Ausführung von CRUD -Operationen (Erstellen, Lesen, Aktualisieren, Löschen) in einer relationalen Datenbank dienen sollen. Darüber hinaus enthält es ein Skript zum Abwickeln von Dateien -Uploads. Die Skripte sollen eine flexible und erweiterbare Lösung für die Verwaltung von Dateninteraktionen mit einem Backend -Server anbieten.
Stellen Sie vor der Verwendung der Skripte sicher, dass die Datenbankverbindung ordnungsgemäß konfiguriert ist. Die Verbindungsdetails finden Sie in der Datei configuration/connection.php . Ändern Sie die Datei, um Ihren Datenbankhost, Ihren Benutzernamen, Ihr Passwort und Ihren Datenbanknamen festzulegen.
Beispielkonfiguration configuration/connection.php :
define ( ' DB_SERVER ' , ' YOUR_HOSTNAME ' );
define ( ' DB_USERNAME ' , ' YOUR_USERNAME ' );
define ( ' DB_PASSWORD ' , ' YOUR_PASSWORD ' );
define ( ' DB_NAME ' , ' YOUR_DATABASE ' );Beschreibung: Dieses Skript befasst sich mit der Erstellung neuer Datensätze in der Datenbank basierend auf den bereitgestellten JSON -Daten.
table (Erforderlich): Der Name der Datenbanktabelle zum Einfügen von Daten in.validation (optional): Validierungsregeln für die Daten.data (erforderlich): Eine Reihe von Datensätzen, die eingefügt werden sollen. Die validation wird verwendet, um die Daten basierend auf den angegebenen Regeln zu validieren. Die folgenden Validierungsregeln sind verfügbar:
required : Das Feld darf nicht leer sein.string : Das Feld muss eine gültige Zeichenfolge sein.name : Das Feld muss ein gültiger Name und ohne Ganzzahl oder Sonderzeichen sein.email : Das Feld muss ein gültiges E -Mail -Format sein.numeric : Das Feld muss numerisch sein.min-length:X : Das Feld muss mindestens x Zeichen lang sein.max-length:X : Das Feld muss höchstens x Zeichen lang sein.length:X : Das Feld muss genau x Zeichen lang sein.unique : Der Feldwert muss innerhalb der angegebenen Tabelle eindeutig sein | Es wird die id überprüft, während der Datensatz aktualisiert wird. Wenn er gleich ist, wird einfach die Spalte aktualisiert. body in der API -Anfrage {
"table" : " users " ,
"validation" : [
{
"name" : " required|string " ,
"email" : " required|email|unique " ,
"phone" : " required|numeric|unique|length:10 " ,
"password" : " required|min-length:6 " ,
"age" : " optional|numeric "
}
],
"data" : [
{
"name" : " Imdadullah " ,
"email" : " [email protected] " ,
"phone" : " 9992229990 " ,
"password" : " VerySecurePassword " ,
"age" : 22
}
]
}Beschreibung: Dieses Skript ruft Daten aus der Datenbank basierend auf den angegebenen Parametern ab.
table (Erforderlich): Der Name der Datenbanktabelle zur Abfrage.select (erforderlich): Ein Array von Spalten ausgewählt werden. Standard ist alle Spalten (*).join (optional): Eine Reihe von Join -Klauseln für die Ausführung von Jungen.conditions (optional): Ein Array von Bedingungen mit Objekt mit on , type und value für Filterdaten.rawConditions (optional): Eine Reihe von Rohbedingungen zum Filtern von Daten stellen Sie sicher, dass Sie entweder conditions oder rawConditions übergeben.order (optional): Ein Objekt mit on und type zum Bestelldaten.limit (optional): Begrenzen Sie die Anzahl der zurückgegebenen Datensätze. body in der API -Anfrage {
"table" : " users " ,
"select" : [ " id " , " name " , " email " , " age " ],
"order" : { "on" : " id " , "type" : " DESC " },
"conditions" : [
{
"on" : " age " ,
"type" : " >= " ,
"value" : " 18 "
},
{
"on" : " status " ,
"type" : " = " ,
"value" : " active "
},
{
"on" : " email " ,
"type" : " LIKE " ,
"value" : " @gmail.com% "
}
],
"limit" : 10
}body mit rawConditions in der API -Anfrage {
"table" : " users " ,
"select" : [ " id " , " name " , " email " , " age " ],
"order" : { "on" : " id " , "type" : " DESC " },
"rawConditions" : [
" WHERE age >= '18' OR type = 'customer' AND status = 'active' "
]
}body mit JOIN -Parameter HINWEIS: Sie müssen jeden Tabellennamen zusammen mit dem Spaltennamen zum JOIN erwähnen
{
"table" : " users " ,
"select" : [
" users.name " ,
" users.email " ,
" items.title " ,
" items.price " ,
" purchases.amount " ,
" purchases.created_at AS purchased_date "
],
"conditions" : [
{
"on" : " purchases.item_id " ,
"type" : " = " ,
"value" : " 102 "
}
],
"join" : [
{
"table" : " purchases " ,
"on" : [ " purchases.user_id " , " users.id " ],
"type" : " LEFT "
},
{
"table" : " items " ,
"on" : [ " items.id " , " purchases.item_id " ],
"type" : " LEFT "
}
]
}Beschreibung: Dieses Skript aktualisiert vorhandene Datensätze in der Datenbank basierend auf den angegebenen Parametern.
table (Erforderlich): Der Name der Datenbanktabelle zur Abfrage.data (erforderlich): Ein Array von Feldern und Werten, die aktualisiert werden sollen.conditions (Erforderlich): Eine Reihe von Bedingungen für die Aktualisierung von Datensätzen.validation (optional): Validierungsregeln für die Daten. body in der API -Anfrage {
"table" : " users " ,
"data" : [
{
"name" : " Imdadullah Babu " ,
"age" : 22
}
],
"validation" : [
{
"name" : " required|string " ,
"age" : " optional|numeric "
}
],
"conditions" : [
{
"on" : " id " ,
"type" : " = " ,
"value" : " 1 "
}
]
}Beschreibung: Dieses Skript löscht Datensätze aus der Datenbank basierend auf den angegebenen Parametern.
table (Erforderlich): Der Name der Datenbanktabelle zum Löschen von.conditions (Erforderlich): Eine Reihe von Bedingungen zum Löschen von Datensätzen. body in der API -Anfrage {
"table" : " users " ,
"conditions" : [
{
"on" : " id " ,
"type" : " = " ,
"value" : " 1 "
}
]
}Beschreibung: Dieses Skript behandelt das Hochladen von Dateien in ein bestimmtes Ziel.
fileDestination (erforderlich): Das Verzeichnis, in dem die Dateien gespeichert werden.fileValidation (erforderlich): Eine von Kommas getrennte Liste der zulässigen Dateierweiterungen.Hinweis: Sie können mehrere Dateien gleichzeitig hochladen. Dies wird nicht in Ihre Datenbanktabelle eingefügt. Sie erhalten die URL als Antwort und Sie können sie in der Datenbank speichern.
< script >
const uploadButton = document.getElementById("button");
uploadButton.addEventListener("click", async function () {
const fileInput = document . getElementById ( "file" ) ;
const imageInput = document . getElementById ( "image" ) ;
const file = fileInput . files [ 0 ] ;
const image = imageInput . files [ 0 ] ;
const formData = new FormData ( ) ;
formData . append ( "file" , file ) ;
formData . append ( "image" , image ) ;
formData . append ( "fileDestination" , "files" ) ; // Files will be uploaded to the mentioned destination on the 'uploaded' directory
formData . append ( "fileValidation" , [ "jpg" , "png" , "pdf" ] ) ;
const request = await fetch ( "YOUR_API_REQUEST_ENDPOINT" , {
method : "POST" ,
body : formData ,
} ) ;
const response = await request . json ( ) ;
console . log ( response ) ;
} );
</ script > {
"file": "uploads/files/2024011984368.jpg",
"image": "uploads/files/2024011960039.jpg"
}
Hinweis: Passen Sie die Skripte anhand der Anforderungen Ihres Projekts an und erweitern Sie sie. Stellen Sie sicher, dass in einer Produktionsumgebung ordnungsgemäße Validierungs- und Sicherheitsmaßnahmen implementiert werden.
Für zusätzliche Sicherheitsmaßnahmen oder benutzerdefinierte Logik können Entwickler die Funktionalität erweitern, indem sie der Datei configuration/custom-functions.php ihre eigene Logik hinzufügen. Dies bietet einen Raum, um Token -Validierung, benutzerdefinierte Authentifizierung oder andere Sicherheitsmaßnahmen gemäß den Projektanforderungen einzubeziehen.
Dieses Projekt wurde von Imdadullah Babu entwickelt. Die Skripte zielen darauf ab, PHP -Entwicklern eine Grundlage für die Integration grundlegender Datenbankvorgänge und Datei -Uploads in ihre Projekte zu bilden, ohne wiederholbare Codes zu schreiben.
Dieses Projekt ist Open-Source und wir begrüßen Beiträge von Entwicklern weltweit. Unabhängig davon, ob Sie neue Funktionen hinzufügen, die Dokumentation verbessern, Fehler beheben oder Verbesserungen vorschlagen, sind Ihre Beiträge wertvoll.
Gemeinsam können wir dieses Projekt für die Entwicklergemeinschaft noch vielseitiger und vorteilhafter machen. Ihre großen oder kleinen Beiträge werden sehr geschätzt.
Vielen Dank, dass Sie Teil unserer Open-Source-Reise sind!