Правила разработки
Директория приложения
Директория приложения может быть размещена в любом месте.
Входной файл
Как и в приложениях 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)
{
$connection->send('hello world');
};
Worker::runAll();
Соглашение о коде в Workerman
- Имена классов должны быть написаны в верблюжьем стиле с заглавной первой буквой, и имя файла класса должно совпадать с именем класса внутри файла для автоматической загрузки. Например:
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()
{
....
- Члены класса и методы класса должны быть написаны в верблюжьем регистре с маленькой буквы, например:
public $connectionList;
public function getConnectionList();
- Параметры функций и классов должны быть написаны в нижнем регистре с подчеркиванием, например:
function get_connection_list($one_param, $tow_param)
{
....