প্রোগ্রামিং নির্দেশিকা
অপারেটিং সিস্টেম
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 পুনরায় চালানো প্রয়োজন।