Entwicklungsstandards
Anwendungsverzeichnis
Das Anwendungsverzeichnis kann an beliebiger Stelle platziert werden.
Einstiegsdatei
Wie bei PHP-Anwendungen unter nginx+PHP-FPM benötigt auch die Anwendung in Workerman eine Einstiegsdatei. Der Name der Einstiegsdatei ist nicht festgelegt, und diese Datei wird im PHP Cli-Modus ausgeführt.
Die Einstiegsdatei enthält den Code zum Erstellen von Überwachungsprozessen, wie zum Beispiel das folgende Code-Snippet, das auf Worker-Entwicklung basiert.
test.php
<?php
use Workerman\Worker;
use Workerman\Connection\TcpConnection;
require_once __DIR__ . '/vendor/autoload.php';
// Erstellen eines Workers, der den Port 2345 überwacht und das HTTP-Protokoll verwendet
$http_worker = new Worker("http://0.0.0.0:2345");
// Starten von 4 Prozessen, um Dienste bereitzustellen
$http_worker->count = 4;
// Antwort "hello world" an den Browser, wenn Daten vom Browser empfangen werden
$http_worker->onMessage = function(TcpConnection $connection, $data)
{
// "hello world" an den Browser senden
$connection->send('hello world');
};
Worker::runAll();
Code-Standards in Workerman
-
Klassen werden in CamelCase mit großem Anfangsbuchstaben benannt, und der Dateiname der Klasse muss mit dem internen Klassennamen übereinstimmen, um eine automatische Ladung zu ermöglichen. Beispiel:
class UserInfo { ...
-
Verwenden Sie Namensräume, die dem Verzeichnispfad entsprechen, und verwenden Sie das Wurzelverzeichnis des Projekts des Entwicklers als Grundlage.
Beispiel für ein Projekt namens MyApp/: Die Klasse MyApp/MyClass.php benötigt keinen Namensraum, da sie sich im Projektstammverzeichnis befindet. Die Klasse MyApp/Protocols/MyProtocol.php hingegen befindet sich im Verzeichnis Protocols des MyApp-Projekts, daher muss der Namensraum hinzugefügt werden: namespace Protocols;
wie folgt:
namespace Protocols;
class MyProtocol
{
....
-
Allgemeine Funktionen und Variablennamen werden in Kleinschreibung mit Unterstrichen verwendet. Zum Beispiel:
$connection_list = array(); function get_connection_list() { ....
-
Klassenmember und -methoden werden in CamelCase mit kleinem Anfangsbuchstaben verwendet. Zum Beispiel:
public $connectionList; public function getConnectionList();
-
Funktions- und Klassenparameter werden in Kleinschreibung mit Unterstrichen verwendet. Zum Beispiel:
function get_connection_list($one_param, $two_param) { ....