Erstellen und Ausführen eines Webman-Projekts
Was ist Webman?
Webman ist ein leistungsstarkes, asynchrones PHP-Web-Framework, das auf Workerman basiert. Es wurde speziell für die Entwicklung von hochskalierbaren Webanwendungen mit hoher Leistung konzipiert. Im Gegensatz zu traditionellen, synchronen Blockierungs-Frameworks verwendet Webman ein ereignisgesteuertes und asynchrones, nicht blockierendes I/O, wodurch es ausgezeichnet in der Verarbeitung einer großen Anzahl gleichzeitiger Anfragen ist. Webman bietet eine einfach zu bedienende API und flexible Erweiterungsmöglichkeiten, was es ideal für die Erstellung von Echtzeitanwendungen, API-Diensten und mehr macht.
Hauptmerkmale und Vorteile von Webman
- Hohe Leistung: Basierend auf ereignisgesteuertem und asynchronem, nicht blockierendem I/O, kann eine große Anzahl gleichzeitiger Anfragen verarbeitet werden.
- Benutzerfreundlich: Bietet eine einfache API und viele Funktionen, sodass Entwickler schnell anfangen können.
- Unterstützung mehrerer Protokolle: Unterstützt HTTP, WebSocket und andere Protokolle, was es für verschiedene Anwendungsszenarien geeignet macht.
- Flexible Erweiterung: Funktionen können durch Plugins und Middleware erweitert werden.
- Starke Community-Unterstützung: Hat eine aktive Entwickler-Community und umfassende Dokumentationsressourcen.
Webman kann Entwicklern helfen, schnell leistungsstarke Webanwendungen und API-Dienste zu erstellen, die für Szenarien mit hoher Parallelverarbeitung geeignet sind.
Erstellen und Ausführen eines einfachen Webprojekts mit Webman
In diesem Artikel zeigen wir, wie man in der ServBay-Umgebung ein einfaches Webprojekt mit Webman erstellt und ausführt. Wir werden demonstrieren, wie man Webman installiert, grundlegende Routen- und Controller-Code schreibt und das Projekt startet.
TIP
ServBay empfiehlt Entwicklern, ihre Website im Verzeichnis /Applications/ServBay/www
abzulegen, um die Verwaltung zu erleichtern.
Installation von Webman
Composer installieren
ServBay wird mit vorinstalliertem Composer geliefert, daher ist keine separate Installation erforderlich.
Projektverzeichnis erstellen
Wechseln Sie in das www-Verzeichnis von ServBay:
bashcd /Applications/ServBay/www
1Webman installieren
Installieren Sie Webman mit Composer:
bashcomposer create-project workerman/webman servbay-webman-app cd servbay-webman-app
1
2Notwendige Komponenten installieren
Installieren Sie Illuminate Database, Pagination, Events und Symfony VarDumper:
bashcomposer require -W illuminate/database illuminate/redis illuminate/pagination illuminate/events symfony/var-dumper
1
Schreiben des Webprojekt-Codes
Konfigurieren von Routen
Fügen Sie im
config/route.php
-Datei den folgenden Code hinzu, um grundlegende Routen zu definieren:phpuse Webman\Route; use app\controller\IndexController; use app\controller\CacheController; use app\controller\DatabaseController; Route::any('/', [IndexController::class, 'index']); Route::any('/memcached', [CacheController::class, 'memcached']); Route::any('/redis', [CacheController::class, 'redis']); Route::any('/mysql-add', [DatabaseController::class, 'mysqlAdd']); Route::any('/mysql', [DatabaseController::class, 'mysqlGet']); Route::any('/pgsql-add', [DatabaseController::class, 'pgsqlAdd']); Route::any('/pgsql', [DatabaseController::class, 'pgsqlGet']);
1
2
3
4
5
6
7
8
9
10
11
12Controller erstellen
Erstellen Sie im Verzeichnis
app/controller
die DateienIndexController.php
,CacheController.php
undDatabaseController.php
, und fügen Sie den folgenden Code hinzu:Datei
IndexController.php
:phpnamespace app\controller; use support\Request; class IndexController { public function index(Request $request) { return response('Hello ServBay!'); } }
1
2
3
4
5
6
7
8
9
10
11Datei
CacheController.php
:phpnamespace app\controller; use support\Request; use support\Response; use Memcached; use support\Redis; class CacheController { public function memcached(Request $request): Response { $memcached = new Memcached(); $memcached->addServer('127.0.0.1', 11211); $memcached->set('key', 'Hello Memcached!', 60); $value = $memcached->get('key'); return response($value); } public function redis(Request $request): Response { Redis::set('key', 'Hello Redis!'); $value = Redis::get('key'); return response($value); } }
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25Datei
DatabaseController.php
:phpnamespace app\controller; use support\Request; use support\Response; use support\Db; class DatabaseController { public function mysqlAdd(Request $request): Response { DB::connection('mysql')->table('users')->insert([ 'name' => 'Webman', 'email' => '[email protected]', ]); return response('User added'); } public function mysqlGet(Request $request): Response { $users = DB::connection('mysql')->table('users')->get(); return response(json_encode($users)); } public function pgsqlAdd(Request $request): Response { DB::connection('pgsql')->table('users')->insert([ 'name' => 'Webman', 'email' => '[email protected]', ]); return response('User added'); } public function pgsqlGet(Request $request): Response { $users = DB::connection('pgsql')->table('users')->get(); return response(json_encode($users)); } }
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38Datenbankverbindung konfigurieren
Konfigurieren Sie in der Datei
config/database.php
die Verbindungsinformationen für MySQL und PostgreSQL:phpreturn [ 'default' => 'mysql', 'connections' => [ 'mysql' => [ 'driver' => 'mysql', 'host' => '127.0.0.1', 'port' => 3306, 'database' => 'webman_app', 'username' => 'root', 'password' => 'password', 'charset' => 'utf8mb4', 'collation' => 'utf8mb4_unicode_ci', 'prefix' => '', 'strict' => true, 'engine' => null, ], 'pgsql' => [ 'driver' => 'pgsql', 'host' => '127.0.0.1', 'port' => 5432, 'database' => 'webman_app', 'username' => 'root', 'password' => 'password', 'charset' => 'utf8', 'prefix' => '', 'schema' => 'public', 'sslmode' => 'prefer', ], ], ];
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
Ausführen des Webprojekts
Führen Sie die folgenden Befehle im Projektverzeichnis aus, um das Webman-Projekt zu starten:
php start.php start
Nach dem Start können Sie die folgenden URLs im Browser aufrufen:
http://localhost:8787
: Sie werden die SeiteHello ServBay!
sehen.http://localhost:8787/memcached
: Sie werden die SeiteHello Memcached!
sehen.http://localhost:8787/redis
: Sie werden die SeiteHello Redis!
sehen.http://localhost:8787/mysql-add
: Sie werden die SeiteUser added
sehen und ein Benutzer wird in die Datenbank eingefügt.http://localhost:8787/mysql
: Sie werden die Benutzerliste in der Datenbank sehen.http://localhost:8787/pgsql-add
: Sie werden die SeiteUser added
sehen und ein Benutzer wird in die Datenbank eingefügt.http://localhost:8787/pgsql
: Sie werden die Benutzerliste in der Datenbank sehen.
Zusammenfassung
Durch die oben genannten Schritte haben Sie erfolgreich ein Webman-Projekt über ServBay erstellt und ausgeführt und dabei die Funktionen von Webman verwendet, um Ihr Projekt zu verwalten und darauf zuzugreifen. Gleichzeitig haben Sie verschiedene Datenbanken verbunden und Daten abgerufen. Aufgrund seiner hohen Leistung und Benutzerfreundlichkeit ist Webman ideal für die Erstellung hochskalierbarer, leistungsstarker Webanwendungen und API-Services. Wir hoffen, dass dieser Artikel Ihnen hilft, Webman schnell zu erlernen und in Ihren Projekten einzusetzen.