Стандарты разработки
Директория приложения
Директория приложения может находиться в любом месте.
Файл входа
Подобно 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
-
Имя класса должно быть написано в формате CamelCase с заглавной буквы. Имя файла класса должно совпадать с именем класса внутри файла для автоматической загрузки. Например:
class UserInfo { ... -
Используйте пространства имен, имена пространств имен должны соответствовать пути к директории и основываться на корневой директории проекта разработчика.
Например, для проекта MyApp/, файл класса MyApp/MyClass.php находится в корневой директории проекта, поэтому пространство имен опускается. Файл класса MyApp/Protocols/MyProtocol.php находится в директории Protocols проекта MyApp, поэтому необходимо добавить пространство имен namespace Protocols;, как показано ниже:
namespace Protocols;
class MyProtocol
{
....
-
Обычные функции и имена переменных используют нижний регистр с подчеркиванием. Например:
$connection_list = array(); function get_connection_list() { .... -
Члены класса и методы класса используют формат CamelCase с маленькой буквы в начале. Например:
public $connectionList; public function getConnectionList(); -
Параметры функций и классов используют нижний регистр с подчеркиванием.
function get_connection_list($one_param, $tow_param) { ....