প্রোগ্রামিং নির্দেশিকা

অপারেটিং সিস্টেম

webman একসাথে linux সিস্টেম এবং windows সিস্টেমে চলার সমর্থন করে। তবে workerman.windows এ বহুপ্রক্রিয়া সেটিংস এবং ডেমন প্রক্রিয়া সমর্থন না করার কারণে, windows সিস্টেমটি শুধুমাত্র উন্নয়ন পরিবেশের জন্য ডেভেলপমেন্ট ডিবাগিং এর উদ্দেশ্যে ব্যবহারের জন্য সুপারিশ করা হয়, উৎপাদন পরিবেশে linux সিস্টেম ব্যবহার করা উচিত।

শুরু করার উপায়

linux সিস্টেম

php start.php start

এই কমান্ডটি ডিবাগ মোডের জন্য, সাধারণত উন্নয়নের সময় ব্যবহৃত হয়, ফাইল আপডেট হওয়ার monitor প্রক্রিয়া স্বয়ংক্রিয়ভাবে reload সনাক্ত করবে, তথ্য মুদ্রণ করার সময় টার্মিনালে প্রদর্শন করবে এবং টার্মিনাল বন্ধ হলে webman স্বয়ংক্রিয়ভাবে বন্ধ হয়ে যাবে।

php start.php start -d

এই কমান্ডটি ডেমন প্রক্রিয়া মোডের জন্য, উৎপাদন পরিবেশে ব্যবহার করা হয়, টার্মিনাল বন্ধ হলে webman চালিয়ে যাবে, তথ্য মুদ্রণ টার্মিনালে প্রদর্শিত হবে না। কোড আপডেট করতে php start.php reload অথবা php start.php restart -d আপডেট চালাতে হবে।

windows সিস্টেম

windows.bat চালানো অথবা php windows.php ব্যবহার করে শুরু করুন, বন্ধ করতে ctrl c চাপুন। windows সিস্টেম stop reload status reload connections ইত্যাদি কমান্ড সমর্থন করে না। windows ডেমন প্রক্রিয়া মোড সমর্থন করে না।

স্থায়ী মেমরি

webman একটি স্থায়ী মেমরি ফ্রেমওয়ার্ক, সাধারণভাবে, php ফাইল লোড হওয়ার পর এটি opcode এর মাধ্যমে স্থায়ী মেমরিতে থাকে, ডিস্ক থেকে পুনরায় পড়া হয় না (টেম্পলেট ফাইল বাদে)। তাই উৎপাদন পরিবেশে ব্যবসায়িক কোড বা কনফিগারেশন পরিবর্তন হলে এটি কার্যকর করতে php start.php reload চালাতে হবে। যদি প্রক্রিয়া সংশ্লিষ্ট কনফিগারেশন পরিবর্তন করা হয় অথবা নতুন composer প্যাকেজ ইনস্টল করা হয়, তবে php start.php restart পুনরায় চালানো প্রয়োজন।

উন্নয়নের সুবিধার জন্য, webman নিজস্ব একটি monitor কাস্টম প্রক্রিয়া নিয়ে আসে যা ব্যবসায়িক ফাইল আপডেট মনিটর করতে ব্যবহৃত হয়, যখন কোনও ব্যবসায়িক ফাইল আপডেট হয় তখন এটি স্বয়ংক্রিয়ভাবে reload কার্যকর করবে।
এই ফিচারটি শুধুমাত্র workerman ডিবাগ মোডে চললে (শুরু করার সময় -d যোগ না করা) সক্রিয় হবে। windows ব্যবহারকারীদের windows.bat অথবা php windows.php চালাতে হবে এটি সক্ষম করতে।

আউটপুট বিবৃতির বিষয়ে

প传统 php-fpm প্রকল্পে, echo var_dump ইত্যাদি ফাংশন ব্যবহার করে তথ্য মুদ্রণ করা হলে সরাসরি পৃষ্ঠায় প্রদর্শিত হয়, তবে webman উন্নয়ন প্রক্রিয়ায় (ডিবাগ মোড চালু হলে), এই আউটপুটগুলি সাধারণত টার্মিনালে প্রদর্শিত হয় এবং পৃষ্ঠায় প্রদর্শিত হবে না (টেম্পলেট ফাইলের আউটপুট বাদে)।

exit die বিবৃতি চালানো এড়িয়ে চলুন

die বা exit চালানো হলে প্রক্রিয়া বন্ধ হয়ে যাবে এবং পুনরায় শুরু হবে, ফলে বর্তমান অনুরোধ সঠিকভাবে প্রতিক্রিয়া জানাতে পারবে না।

pcntl_fork ফাংশন চালানো এড়িয়ে চলুন

pcntl_fork ব্যবহারকারীর একটি প্রক্রিয়া তৈরি করে, যা webman এ অনুমোদিত নয়।

composer দ্বারা ইনস্টল করা উপাদান

composer require xxx/xxx দ্বারা ইনস্টল করা উপাদানগুলি কার্যকর করতে restart পুনরায় চালানো প্রয়োজন।