Стандарты разработки

Директория приложения

Директория приложения может находиться в любом месте.

Файл входа

Подобно PHP-приложениям на базе nginx+PHP-FPM, приложение в Workerman также требует файл входа. Нет требований к имени файла входа, и этот файл входа запускается в режиме PHP Cli.

В файле входа помещается код, связанный с созданием процессов для прослушивания, например, следующий фрагмент кода на основе Worker.

test.php

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

// Создаем Worker для прослушивания порта 2345, используем протокол http
$http_worker = new Worker("http://0.0.0.0:2345");

// Запускаем 4 процесса для предоставления услуг
$http_worker->count = 4;

// При получении данных от браузера отправляем hello world обратно
$http_worker->onMessage = function(TcpConnection $connection, $data)
{
    // Отправляем браузеру hello world
    $connection->send('hello world');
};

Worker::runAll();

Нормы кода в Workerman

  1. Имя класса должно быть написано в формате CamelCase с заглавной буквы. Имя файла класса должно совпадать с именем класса внутри файла для автоматической загрузки. Например:

    class UserInfo
    {
    ...
  2. Используйте пространства имен, имена пространств имен должны соответствовать пути к директории и основываться на корневой директории проекта разработчика.

Например, для проекта MyApp/, файл класса MyApp/MyClass.php находится в корневой директории проекта, поэтому пространство имен опускается. Файл класса MyApp/Protocols/MyProtocol.php находится в директории Protocols проекта MyApp, поэтому необходимо добавить пространство имен namespace Protocols;, как показано ниже:

namespace Protocols;
class MyProtocol
{
....
  1. Обычные функции и имена переменных используют нижний регистр с подчеркиванием. Например:

    $connection_list = array();
    function get_connection_list()
    {
    ....
  2. Члены класса и методы класса используют формат CamelCase с маленькой буквы в начале. Например:

    public $connectionList;
    public function getConnectionList();
  3. Параметры функций и классов используют нижний регистр с подчеркиванием.

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