Geliştirme Standartları

Uygulama Dizini

Uygulama dizini herhangi bir yere konulabilir.

Giriş Dosyası

nginx+PHP-FPM altındaki PHP uygulamalarında olduğu gibi, Workerman'daki uygulamaların da bir giriş dosyasına ihtiyacı vardır. Giriş dosyasının adı konusunda bir gereklilik yoktur ve bu giriş dosyası PHP CLI modunda çalıştırılmaktadır.

Giriş dosyasında dinleme süreçlerini oluşturma ile ilgili kod bulunur, örneğin aşağıdaki Worker tabanlı kod parçası

test.php

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

// 2345 portunu dinleyen bir Worker oluştur, http protokolü ile iletişim kur
$http_worker = new Worker("http://0.0.0.0:2345");

// Dışa hizmet sağlamak için 4 süreç başlat
$http_worker->count = 4;

// Tarayıcıdan gelen veriyi aldığında tarayıcıya hello world yanıtı gönder
$http_worker->onMessage = function(TcpConnection $connection, $data)
{
    // Tarayıcıya hello world gönder
    $connection->send('hello world');
};

Worker::runAll();

Workerman'daki Kod Standartları

  1. Sınıf isimleri baş harfi büyük camelCase adı ile yazılmalı; sınıf dosyası ismi, dosyanın içindeki sınıf ismi ile aynı olmalıdır ki otomatik yükleme sağlansın. Örneğin:

    class UserInfo
    {
    ...
  2. Namespace kullanılmalı, namespace ismi dizin yolu ile eşleşmeli ve geliştiricinin proje kök dizini esas alınmalıdır.

Örneğin proje MyApp/ ise, sınıf dosyası MyApp/MyClass.php proje kök dizininde olduğu için namespace atlanır. Sınıf dosyası MyApp/Protocols/MyProtocol.php olduğu için, MyProtocol.php MyApp projesinin Protocols dizininde bulunduğundan, namespace eklenmelidir: namespace Protocols; Aşağıdaki gibi:

namespace Protocols;
class MyProtocol
{
....
  1. Normal fonksiyon ve değişken isimleri küçük harf ve alt çizgi ile yazılmalıdır. Örneğin:

    $connection_list = array();
    function get_connection_list()
    {
    ....
  2. Sınıf üyeleri ve sınıf yöntemleri baş harfi küçük camelCase şeklinde olmalıdır. Örneğin:

    public $connectionList;
    public function getConnectionList();
  3. Fonksiyon ve sınıf parametreleri küçük harf ve alt çizgi ile yazılmalıdır.

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