Normas de desenvolvimento
Diretório do aplicativo
O diretório do aplicativo pode ser colocado em qualquer lugar.
Arquivo de entrada
Assim como os aplicativos PHP sob nginx+PHP-FPM, o aplicativo no Workerman também requer um arquivo de entrada. Não há exigências para o nome do arquivo de entrada, e ele é executado no modo PHP CLI.
O arquivo de entrada contém o código relacionado à criação de processos de escuta, como no seguinte trecho de código baseado em Worker.
test.php
<?php
use Workerman\Worker;
use Workerman\Connection\TcpConnection;
require_once __DIR__ . '/vendor/autoload.php';
// Cria um Worker escutando na porta 2345, utilizando o protocolo http
$http_worker = new Worker("http://0.0.0.0:2345");
// Inicia 4 processos para fornecer serviços
$http_worker->count = 4;
// Ao receber dados do navegador, responde com hello world
$http_worker->onMessage = function(TcpConnection $connection, $data)
{
// Envia hello world para o navegador
$connection->send('hello world');
};
Worker::runAll();
Normas de codificação no Workerman
-
As classes usam a convenção de nomenclatura CamelCase com a primeira letra maiúscula. O nome do arquivo da classe deve ser o mesmo que o nome da classe interna, para facilitar a autoload. Por exemplo:
class UserInfo { ... -
Utilize namespaces. O nome do namespace deve corresponder ao caminho do diretório, tomando como base o diretório raiz do projeto do desenvolvedor.
Por exemplo, para o projeto MyApp/, o arquivo de classe MyApp/MyClass.php não requer namespace, pois está na raiz do projeto. O arquivo de classe MyApp/Protocols/MyProtocol.php, que está no diretório Protocols do projeto MyApp, deve incluir o namespace namespace Protocols;, conforme abaixo:
namespace Protocols;
class MyProtocol
{
....
-
Nomes de funções e variáveis devem usar letras minúsculas com underscores, como por exemplo:
$connection_list = array(); function get_connection_list() { .... -
Membros da classe e métodos da classe devem utilizar a forma CamelCase com a primeira letra minúscula, como por exemplo:
public $connectionList; public function getConnectionList(); -
Parâmetros de funções e classes devem usar letras minúsculas com underscores:
function get_connection_list($one_param, $tow_param) { ....