Entwicklungsrichtlinien

Anwendungsordner

Der Anwendungsordner kann an beliebiger Stelle platziert werden.

Einstiegspunkt

Wie bei einer PHP-Anwendung unter nginx+PHP-FPM benötigt auch die Anwendung in Workerman eine Einstiegspunktdatei. Es gibt keine Anforderungen an den Namen der Einstiegspunktdatei, und sie wird im PHP-CLI-Modus ausgeführt.

In der Einstiegspunktdatei befindet sich der Code zum Erstellen von Überwachungsprozessen, beispielsweise der folgende, auf Worker basierende Code-Ausschnitt.

test.php

<?php
use Workerman\Worker;
use Workerman\Connection\TcpConnection;
require_once __DIR__ . '/vendor/autoload.php';

// Erstelle einen Worker, der Port 2345 überwacht und das http-Protokoll zur Kommunikation verwendet
$http_worker = new Worker("http://0.0.0.0:2345");

// Starte 4 Prozesse, um Dienstleistungen anzubieten
$http_worker->count = 4;

// Wenn Daten vom Browser empfangen werden, antworte mit hello world
$http_worker->onMessage = function(TcpConnection $connection, $data)
{
    // Sende hello world an den Browser
    $connection->send('hello world');
};

Worker::runAll();

Codierungsstandards in Workerman

  1. Klassen verwenden die Camel-Case-Schreibweise mit einem großen Anfangsbuchstaben; der Dateiname der Klasse muss mit dem Klassennamen innerhalb der Datei übereinstimmen, um das Autoloading zu ermöglichen. Zum Beispiel:

    class UserInfo
    {
    ...
  2. Verwenden Sie Namespaces; der Namespace-Name entspricht dem Verzeichnis-Pfad und basiert auf dem Stammverzeichnis des Projekts des Entwicklers.

Zum Beispiel für das Projekt MyApp/, die Klassendatei MyApp/MyClass.php hat aufgrund der Platzierung im Stammverzeichnis des Projekts keinen Namespace. Die Klassendatei MyApp/Protocols/MyProtocol.php benötigt einen Namespace namespace Protocols; , weil MyProtocol.php im Protokollverzeichnis des MyApp-Projekts liegt, wie folgt:

namespace Protocols;
class MyProtocol
{
....
  1. Normale Funktionen und Variablennamen verwenden Kleinbuchstaben mit Unterstrichen, zum Beispiel

    $connection_list = array();
    function get_connection_list()
    {
    ....
  2. Klassenmitglieder und -methoden verwenden die Camel-Case-Schreibweise mit einem kleinen Anfangsbuchstaben, zum Beispiel:

    public $connectionList;
    public function getConnectionList();
  3. Die Parameter von Funktionen und Klassen verwenden Kleinbuchstaben mit Unterstrichen

    
    function get_connection_list($one_param, $two_param)
    {
    ....