
In diesem Artikel erfahren Sie Folgendes: Installieren und Ausführen der Swoft-Datenbank.
Dieser Artikel gehört zu einer Reihe von Artikeln in der Swoft Database ORM. Lass uns etwas über Swoft lernen!
Was ist Swoft?
Swoft ist ein PHP-Hochleistungs-Microservice-Coroutine-Framework. Es wurde seit vielen Jahren veröffentlicht und ist die beste Wahl für PHP geworden.
Es kann wie Go, ein integrierter Coroutine-Webserver und ein allgemeiner Coroutine-Client sein und befindet sich unabhängig vom herkömmlichen PHP-FPM im Speicher.
Es gibt ähnliche Go-Sprachoperationen, ähnlich den flexiblen Annotationen des Spring Cloud-Frameworks.
Durch drei Jahre Akkumulation und Erforschung der Richtung hat Swoft Swoft zur Spring Cloud in der PHP-Welt gemacht, die die beste Wahl für das Hochleistungs-Framework und das Microservices-Management von PHP ist.
Github
Installieren
Hier verwenden wir Composer, um die DB-Komponente zu installieren
composer require swoft/db
Die Swoft-Datenbank basiert auf dem PDO-Erweiterungstreiber. Stellen Sie sicher, dass mysqld- und PDO-Erweiterungen vorhanden sind.
Konfig
Die Konfiguration der Datenbank befindet sich in der Datei app\bean.php
, und Sie können sich die konfigurierte Datenbank als bean
Objekt app\bean.php
.
return [ 'db' => [ 'class' => Database::class, 'dsn' => 'mysql:dbname=test;host=127.0.0.1', 'username' => 'root', 'password' => '123456', 'charset' => 'utf8mb4', ], ];
Die Konfiguration ähnelt der Konfiguration der Injektionsmethode für yii2
, Sie können das aktuell konfigurierte Database
mit \bean('db')
yii2
class
Geben Sie an, welche Klasse für den aktuellen Bean-Container verwendet werden soll. Natürlich können Sie auch Ihre eigene Implementierung der Datenbankklasse angeben.dsn
Verbindungskonfigurationsinformationen, die PDO verwenden mussusername
Daten Login Benutzernamepassword
Datenbank-Login-Passwortcharset
Datenbank Zeichensatz
Wenn Sie Master-Slave / Cluster konfigurieren möchten, lesen Sie bitte Swoft Database 文档
Einfach zu bedienen
Wählen Sie
class UserController { public function index() { $users = DB::select('select * from users where active = ?', [1]); return (array)users; } }
Die select
Methode gibt immer ein Array zurück, und jedes Ergebnis im Array ist ein Array. Auf den Ergebniswert kann folgendermaßen zugegriffen werden:
foreach ($users as $user) { echo $user['name']; }
Transaktion
Mit der Transaktionsmethode von DB können Sie eine Reihe von Vorgängen in einer Datenbanktransaktion ausführen. Wenn beim Abschluss der Transaktion eine Ausnahme auftritt, wird die Transaktion zurückgesetzt. Wenn der Abschluss der Transaktion erfolgreich ausgeführt wurde, wird die Transaktion automatisch festgeschrieben. Sobald Sie die Transaktion verwendet haben, müssen Sie sich nicht mehr um manuelle Rollbacks oder Commit-Probleme kümmern:
DB::transaction(function () { DB::table('users')->update(['status' => 1]); DB::table('posts')->delete(); });
Github