विकास मानक
अनुप्रयोग निर्देशिका
अनुप्रयोग निर्देशिका को किसी भी स्थान पर रखा जा सकता है
प्रवेश फ़ाइल
nginx+PHP-FPM के तहत PHP अनुप्रयोग की तरह, Workerman में अनुप्रयोग को भी एक प्रवेश फ़ाइल की आवश्यकता होती है, प्रवेश फ़ाइल के नाम की कोई आवश्यकता नहीं है, और यह प्रवेश फ़ाइल PHP Cli तरीके से चलती है।
प्रवेश फ़ाइल में सुनने की प्रक्रिया बनाने से संबंधित कोड होता है, जैसे नीचे दिए गए Worker पर आधारित कोड स्निपेट
test.php
<?php
use Workerman\Worker;
use Workerman\Connection\TcpConnection;
require_once __DIR__ . '/vendor/autoload.php';
// पोर्ट 2345 पर एक Worker बनाएं, 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 में कोड मानक
-
कक्षाओं का नाम पहले अक्षर से बड़े कैसल केस में होना चाहिए, कक्षा फ़ाइल का नाम फ़ाइल के अंदर कक्षा के नाम के समान होना चाहिए, ताकि स्वचालित रूप से लोड किया जा सके। उदाहरण:
class UserInfo { ... -
नामस्थान का उपयोग करें, नामस्थान का नाम निर्देशिका पथ के अनुरूप होना चाहिए और विकासकर्ता के प्रोजेक्ट के रूट डायरेक्टरी के आधार पर होना चाहिए।
उदाहरण के लिए प्रोजेक्ट MyApp/ है, कक्षा फ़ाइल MyApp/MyClass.php प्रोजेक्ट रूट निर्देशिका में है, इसलिए नामस्थान को छोड़ दिया गया है। कक्षा फ़ाइल MyApp/Protocols/MyProtocol.php क्योंकि MyProtocol.php MyApp प्रोजेक्ट की Protocols निर्देशिका में है, इसलिए नामस्थान 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) { ....