So verwenden Sie das Hyperf-Framework für ORM-Operationen
Einführung:
Hyperf ist ein leistungsstarkes Coroutine-Framework mit flexiblem Komponentendesign und leistungsstarken Abhängigkeitsinjektionsfunktionen. Es bietet Entwicklern viele praktische Tools und Komponenten, darunter ORM-Operationen (Object Relational Mapping). In diesem Artikel wird die Verwendung des Hyperf-Frameworks für ORM-Operationen vorgestellt und spezifische Codebeispiele bereitgestellt.
1. Installation und Konfiguration
Bevor Sie beginnen, müssen Sie zunächst sicherstellen, dass das Hyperf-Framework installiert wurde. Informationen zu den spezifischen Installationsschritten finden Sie in der offiziellen Dokumentation von Hyperf.
1.1 Abhängigkeiten installieren
Führen Sie den folgenden Befehl in der Befehlszeile aus, um Abhängigkeiten für Datenbankoperationen zu installieren:
composer require hyperf/model composer require hyperf/database
1.2 Datenbankverbindung konfigurieren
Im Hyperf-Framework befindet sich die Datenbankverbindungskonfiguration in der Datei „databases.php“ im config/autoload-Verzeichnis. In dieser Datei können Sie alle Datenbankverbindungsinformationen konfigurieren, einschließlich Master-Slave-Datenbank, Verbindungspool usw.
Das Folgende ist ein einfaches Beispiel für eine Datenbankkonfiguration:
return [ 'default' => [ 'driver' => env('DB_DRIVER', 'mysql'), 'host' => env('DB_HOST', '127.0.0.1'), 'port' => env('DB_PORT', 3306), 'database' => env('DB_DATABASE', 'test'), 'username' => env('DB_USERNAME', 'root'), 'password' => env('DB_PASSWORD', 'password'), 'charset' => 'utf8mb4', 'collation' => 'utf8mb4_unicode_ci', 'pool' => [ 'min_connections' => 1, 'max_connections' => 10, 'connect_timeout' => 10.0, 'wait_timeout' => 3.0, 'heartbeat' => -1, 'max_idle_time' => (float) env('DB_MAX_IDLE_TIME', 60), ], 'options' => [ // ... ], ], ];
2. Definieren Sie das Modell
Bevor Sie das Hyperf-Framework für ORM-Operationen verwenden, müssen Sie zunächst das Modell definieren. Das Modell entspricht einer PHP-Klasse, die der Datenbanktabelle entspricht. Die Datenbank kann einfach über das Modell bedient werden. Im Hyperf-Framework müssen Modelle die Hyperf/Model/Model-Klasse erben und Eigenschaften definieren, die der Datenbanktabelle entsprechen.
Das Folgende ist ein einfaches Beispiel für eine Modelldefinition:
<?php declare (strict_types=1); namespace AppModel; use HyperfDbConnectionModelModel; /** * @property int $id * @property string $name * @property int $age * @property string $gender */ class User extends Model { /** * The table associated with the model. * * @var string */ protected $table = 'users'; /** * The attributes that are mass assignable. * * @var array */ protected $fillable = ['name', 'age', 'gender']; /** * The attributes excluded from the model's JSON form. * * @var array */ protected $hidden = []; /** * The attributes that should be cast to native types. * * @var array */ protected $casts = []; }
Im obigen Code wird ein Modell mit dem Namen „Benutzer“ definiert, das der Datenbanktabelle mit dem Namen „Benutzer“ entspricht. Die der Tabelle entsprechenden Attribute werden im Modell definiert und Attribute angegeben, denen stapelweise Werte zugewiesen werden können.
3. Daten abfragen
Wenn Sie das Hyperf-Framework für ORM-Operationen verwenden, können Sie den Abfrage-Builder des Modells verwenden, um Abfrageanweisungen zu erstellen.
Die folgenden Abfragen sind Beispiele für Abfragen:
3.1 ALLE Daten
use AppModelUser; $users = User::all(); foreach ($users as $user) { echo $user->name; }
3.2 Bedingte Abfrage
use AppModelUser; $user = User::where('age', '>', 18)->first(); echo $user->name;
3.3 Hinzufügen von Abfragebedingungen
use AppModelUser; $user = User::where('age', '>', 18) ->orWhere('gender', 'female') ->orderBy('age', 'desc') ->first(); echo $user->name;
3.4 Aggregationsfunktion Query
use AppModelUser; $count = User::where('age', '>', 18)->count(); echo $count;
4. Im Hyperf-Framework können Sie die Methoden create(), update() und delete() des Modells verwenden, um Daten einzufügen, zu aktualisieren und zu löschen.
4.1 Daten einfügen
use AppModelUser; User::create([ 'name' => 'Tom', 'age' => 20, 'gender' => 'male', ]);
4.2 Daten aktualisieren
use AppModelUser; $user = User::find(1); $user->name = 'Jerry'; $user->save();
4.3 Daten löschen
use AppModelUser; $user = User::find(1); $user->delete();
5. Zusammenfassung
In diesem Artikel wird die Verwendung des Hyperf-Frameworks für ORM-Operationen vorgestellt und spezifische Codebeispiele bereitgestellt. Über den Abfragekonstruktor des Modells können wir problemlos Hinzufügungs-, Lösch-, Änderungs- und Abfragevorgänge in der Datenbank durchführen. Gleichzeitig bietet das Hyperf-Framework auch viele andere leistungsstarke Funktionen wie Abhängigkeitsinjektion, ereignisgesteuert usw., die die Entwicklungseffizienz weiter verbessern können.
Ich hoffe, dieser Artikel ist hilfreich für Sie. Wenn Sie Fragen oder Anregungen haben, hinterlassen Sie bitte eine Nachricht zur Diskussion. Ich wünsche Ihnen viel Erfolg bei der Verwendung des Hyperf-Frameworks für ORM-Operationen!
Das obige ist der detaillierte Inhalt vonSo verwenden Sie das Hyperf-Framework für ORM-Operationen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!