ডেভেলপমেন্ট স্ট্যান্ডার্ড

অ্যাপ্লিকেশন ডিরেক্টরি

অ্যাপ্লিকেশন ডিরেক্টরি যেকোনো স্থানে রাখা যেতে পারে

এন্ট্রি ফাইল

nginx+PHP-FPM এর নিচে PHP অ্যাপ্লিকেশনের মতো, 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। ক্লাসের নামকরণ ক্যামেল কেস এ প্রথম অক্ষর বড় হতে হবে, ক্লাস ফাইলের নাম অবশ্যই ফাইলের অভ্যন্তরীণ ক্লাস নামের সাথে মেলে যাতে অটোমেটিক লোডিং সহজ হয়। উদাহরণস্বরূপ:

class UserInfo
{
...

2। নেমস্পেস ব্যবহার করুন, নেমস্পেসের নাম ডিরেক্টরি পাথের সাথে সম্পর্কিত এবং ডেভেলপার এর প্রকল্পের রুট ডিরেক্টরিকে ভিত্তি হিসেবে ব্যবহার করে।

যেমন প্রকল্প MyApp/, ক্লাস ফাইল MyApp/MyClass.php কারণ এটি প্রকল্পের রুট ডিরেক্টরিতে রয়েছে, তাই নেমস্পেস বাদ দেওয়া হয়। ক্লাস ফাইল MyApp/Protocols/MyProtocol.php কারণ MyProtocol.php MyApp প্রকল্পের Protocols ডিরেক্টরির অধীনে রয়েছে, তাই নেমস্পেস যুক্ত করা উচিত namespace Protocols; যেমন:

namespace Protocols;
class MyProtocol
{
....

3। সাধারণ ফাংশন এবং ভেরিয়েবল নাম ছোট অক্ষর এবং আন্ডারস্কোর দিয়ে নামকরণের উপায়ে হওয়া উচিত উদাহরণস্বরূপ

$connection_list = array();
function get_connection_list()
{
....

4। ক্লাসের সদস্য এবং ক্লাসের পদ্ধতি প্রথম অক্ষর ছোট ক্যামেল কেসে হওয়া উচিত উদাহরণস্বরূপ:

public $connectionList;
public function getConnectionList();

5। ফাংশন এবং ক্লাসের প্যারামিটার ছোট অক্ষর এবং আন্ডারস্কোর দিয়ে নামকরণের উপায়ে হওয়া উচিত

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