PHP Microservice Framework Swoft: Verwenden Sie die Datenbank Teil 1


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 muss
  • username Daten Login Benutzername
  • password Datenbank-Login-Passwort
  • charset Datenbank Zeichensatz

Wenn Sie Master-Slave / Cluster konfigurieren möchten, lesen Sie bitte Swoft Database 文档


Einfach zu bedienen


Wählen Sie


 class UserController { /** * Displays a list of all users of the application * * @return array */ 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


Source: https://habr.com/ru/post/de472504/


All Articles