কোডিং নীতি
অপারেটিং সিস্টেম
webman এককাল লিনাক্স ও উইন্ডোজ সিস্টেম সমর্থন করে। কিন্তু workerman লিনাক্সে মাল্টি-প্রসেস সেট আপ এবং ডেমন প্রসেস সমর্থন করতে পারে না, তাই উইন্ডোজ সিস্টেম কেবল ডেভেলপমেন্ট এবং ডেবাগিং এর জন্য প্রস্তাবিত, আর ফরমাল প্রডাকশনে লিনাক্স সিস্টেম ব্যবহার করা উচিত।
চালু করার পদ্ধতি
লিনাক্স সিস্টেমে কমান্ড php start.php start
(ডিবাগ মোড) php start.php start -d
(ডেমন মোড) চালু করতে হবে।
উইন্ডোজ সিস্টেমে windows.bat
চালু করতে হবে অথবা কমান্ড php windows.php
দিয়ে চালু করতে হবে, এবং বন্ধ করার জন্য ctrl c চাপতে হবে। উইন্ডোজ সিস্টেমে stop, reload, status এবং reload connections কমান্ড সমর্থন করে না।
স্থায়ী মেমোরি
webman একটি স্থায়ী মেমোরি ফ্রেমওয়ার্ক, যার মাধ্যমে মূলত php ফাইলগুলি মেমোরি তে লোড হয় এবং পুনরাবৃত্তি হবে, ডিস্ক থেকে পুনরায় পড়া হবে না (প্রটোটাইপ ফাইল বাদ দেওয়া হলো)। তাই ফরমাল প্রডাকশন এর জন্য ব্যবসায়িক কোড বা কনফিগারেশন পরিবর্তন করতে হলে php start.php reload
কমান্ড জারি করতে হবে। যদি প্রসেস সংক্রান্ত কনফিগারেশন পরিবর্তন করতে হয় বা নতুন composer প্যাকেজ ইনস্টল করতে হয় তবে php start.php restart
এর মাধ্যমে পুনরায় শুরু করতে হবে।
ডেভেলপমেন্টের জন্য সুবিধার জন্য, webman স্বয়ং একটি মনিটর কাস্টম প্রসেস দিয়ে আসে যা ব্যবসায়িক ফাইল আপডেটগুলি মনিটর করে। যখন ব্যবসায়িক ফাইল আপডেট হয়, তখন স্বয়ংক্রিয়ভাবে রিলোড হয়। এই ফিচারটি কেবল workerman দিয়ে ডিবাগ মোডে রান করানো যাবে (চালু করার সময়
-d
যোগ করা না থাকলে)। উইন্ডোজ ব্যবহারকারীদের জন্যwindows.bat
অথবাphp windows.php
চালু করা দরকার।
আউটপুট স্টেটমেন্ট সম্পর্কে
প্রথাগতিকভাবে php-fpm প্রকল্পগুলিতে, echo
var_dump
ইত্যাদি ফাংশন ব্যবহার করে ডেটা আউটপুট হয়, যা প্রকাশ পাওয়া হয় পৃষ্ঠায়, আর বিপরীতে webman এই আউটপুটগুলি প্রায়ই টার্মিনালে দেখা যায়, পৃষ্ঠায় দেখা যায় না (প্রটোটাইপ ফাইল বাদ দেওয়া হলো)।
exit
এবং die
স্টেটমেন্ট চালনা করা যাবে না
die
বা exit
চালিয়ে দেওয়ার ফলে প্রসেস বন্ধ হয়ে পুনঃচালিয়ে, বর্তমান অনুরোধটি সঠিকভাবে সম্পাদন হয়নি।
pcntl_fork
ফাংশন ব্যবহার করা যাবে না
webman এ pcntl_fork
এর ব্যবহার নিষিদ্ধ। এটি এখানে একটি প্রক্রিয়া তৈরি করে, যা অনুমতি দেওয়া না।