Laravel applications များကိုတီထွင်သည့်အခါကျွန်ုပ်တို့သည်အမျိုးမျိုးသောအလုပ်များကိုလုပ်ဆောင်ရန် artisan command ကိုသုံးလေ့ရှိသည်။ အဆိုပါ Artisan command သည် Laravel framework မှထောက်ပံ့ပေးသောအလွန်အစွမ်းထက်သော command line told through တစ်ခုဖြစ်သည်။ ၎င်းသည် developer များကဒေတာဘေ့စ်ရွှေ့ပြောင်းခြင်း, တန်းစီပြုပြင်ခြင်း,
သို့သော်ကျွန်ုပ်တို့သည်ရှည်လျားသောအနုပညာပညတ်များကိုအကောင်အထည်ဖော်သည့်အခါနောက်ခံတွင်တစ်ပြိုင်နက်တည်းလည်ပတ်နေသော command များစွာရှိနိုင်သည်။ ဤလုပ်ငန်းစဉ်များကိုခွဲခြားရန်အထူးသဖြင့် HTOP သို့မဟုတ် PS command များကဲ့သို့သောလုပ်ငန်းစဉ်စောင့်ကြည့်လေ့လာရေးကိရိယာများကို အသုံးပြု. လုပ်ငန်းစဉ်တစ်ခုစီအတွက်အလွယ်တကူမှတ်မိနိုင်သည့်ပြောင်းလဲနေသောလုပ်ငန်းစဉ်ခေါင်းစဉ်တစ်ခုကိုသတ်မှတ်နိုင်ပါသည်။ ကံကောင်းထောက်မစွာ, ကျွန်ုပ်တို့သည်ဤအရာကို PHP ၏ cli_get_process_title functitle functitle ကိုမှတစ်ဆင့်အောင်မြင်နိုင်သည်။
ဤဆောင်းပါးတွင် Cli_get_Process_title functitle function ကို အခြေခံ. ပြောင်းလဲနေသောလုပ်ငန်းစဉ်ခေါင်းစဉ်များမည်သို့ထည့်သွင်းရမည်ကိုလေ့လာပါမည်။
Cli_get_process_title သည်လက်ရှိ PHP လုပ်ငန်းစဉ်၏ခေါင်းစဉ်ကိုရရှိသော PHP function ဖြစ်သည်။ ၎င်းသည် operating system ရှိလက်ရှိဖြစ်စဉ်၏ display name ကိုကိုယ်စားပြုသည့် string ကိုပြန်လည်ရောက်ရှိစေသည်။ ဤခေါင်းစဉ်ကိုပြုပြင်ခြင်းအားဖြင့်ကျွန်ုပ်တို့သည်လုပ်ငန်းစဉ်များကိုပိုမိုကောင်းမွန်စွာစီမံခန့်ခွဲခြင်းနှင့်စောင့်ကြည့်ခြင်းများကိုကူညီသည်။
ပုံမှန်အားဖြင့် PHP လုပ်ငန်းစဉ်၏ခေါင်းစဉ်သည်များသောအားဖြင့် "PHP" သို့မဟုတ်အလားတူယေဘူယျအမှတ်အသားဖြစ်သည် ။
Laravel's Artisan command အတွက် dynamic process ခေါင်းစဉ်များကိုသတ်မှတ်နိုင်ရန်အတွက်ကျွန်ုပ်တို့သည် command ကိုကွပ်မျက်စဉ်အတွင်းလုပ်ငန်းစဉ်ခေါင်းစဉ်ကိုပြုပြင်ရန်လိုအပ်သည်။ ဤတွင်ရိုးရှင်းသောခြေလှမ်းလမ်းညွှန်တစ်ခုဖြစ်သည်။
ပထမ ဦး စွာကျွန်ုပ်တို့သည်စိတ်ကြိုက်အာရလပ်တပ်မှူးကိုဖန်တီးရန်လိုအပ်သည်။ သင်အပြေးခြင်းဖြင့် Artisan command အသစ်တစ်ခုကိုဖန်တီးနိုင်သည်။
<span><span>php artisan make:</span><span><span class="hljs-built_in">command</span></span><span> SetProcessTitleCommand
</span></span>
၎င်းသည် app / console / commands လမ်းညွှန်တွင် command class file setprocesstitleCommand.php အသစ်တစ်ခုကိုထုတ်လုပ်လိမ့်မည်။
ထို့နောက်ကျွန်ုပ်တို့သည်လုပ်ငန်းစဉ်ခေါင်းစဉ်ကိုသတ်မှတ်ရန် command class တွင် cli_set_process_title functitle functitle ကိုသုံးရန်လိုအပ်သည်။ setprocesStitleCommandleCommand.php ဖိုင်ကိုဖွင့ ်. လုပ်ငန်းစဉ်ခေါင်းစဉ်ကို dynamically set up လုပ်ရန် လက်ကိုင် နည်းလမ်းတွင်ကုဒ်ထည့်ပါ။
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-keyword">namespace</span></span><span> </span><span><span class="hljs-title class_">App</span></span><span>\</span><span><span class="hljs-title class_">Console</span></span><span>\</span><span><span class="hljs-title class_">Commands</span></span><span>;
</span><span><span class="hljs-keyword">use</span></span><span> </span><span><span class="hljs-title">Illuminate</span></span><span>\</span><span><span class="hljs-title">Console</span></span><span>\</span><span><span class="hljs-title">Command</span></span><span>;
</span><span><span class="hljs-class"><span class="hljs-keyword">class</span></span></span><span> </span><span><span class="hljs-title">SetProcessTitleCommand</span></span><span> </span><span><span class="hljs-keyword">extends</span></span><span> </span><span><span class="hljs-title">Command</span></span><span>
{
</span><span><span class="hljs-comment">// command ကို၏အမည်</span></span><span>
</span><span><span class="hljs-keyword">protected</span></span><span> </span><span><span class="hljs-variable">$signature</span></span><span> = </span><span><span class="hljs-string">'set:process-title {title}'</span></span><span>;
</span><span><span class="hljs-comment">// command ကို၏ဖော်ပြချက်</span></span><span>
</span><span><span class="hljs-keyword">protected</span></span><span> </span><span><span class="hljs-variable">$description</span></span><span> = </span><span><span class="hljs-string">'လက်ရှိလုပ်ငန်းစဉ်၏ခေါင်းစဉ်ကိုသတ်မှတ်ပါ'</span></span><span>;
</span><span><span class="hljs-comment">// command များကို execute မှနည်းလမ်းများ</span></span><span>
</span><span><span class="hljs-keyword">public</span></span><span> </span><span><span class="hljs-function"><span class="hljs-keyword">function</span></span></span><span> </span><span><span class="hljs-title">handle</span></span><span>(</span><span><span class="hljs-params"></span></span><span>)
{
</span><span><span class="hljs-comment">// command line parameters တွေကိုရယူပါ</span></span><span>
</span><span><span class="hljs-variable">$title</span></span><span> = </span><span><span class="hljs-variable language_">$this</span></span><span>-></span><span><span class="hljs-title function_ invoke__">argument</span></span><span>(</span><span><span class="hljs-string">'title'</span></span><span>);
</span><span><span class="hljs-comment">// အသုံးပြုcli_set_process_titleလုပ်ငန်းစဉ်ခေါင်းစဉ်ကိုသတ်မှတ်ပါ</span></span><span>
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-title function_ invoke__">function_exists</span></span><span>(</span><span><span class="hljs-string">'cli_set_process_title'</span></span><span>)) {
</span><span><span class="hljs-title function_ invoke__">cli_set_process_title</span></span><span>(</span><span><span class="hljs-variable">$title</span></span><span>);
</span><span><span class="hljs-variable language_">$this</span></span><span>-></span><span><span class="hljs-title function_ invoke__">info</span></span><span>(</span><span><span class="hljs-string">"လုပ်ငန်းစဉ်ခေါင်းစဉ်ကိုသတ်မှတ်ထားသည်: <span class="hljs-subst">$title</span></span></span><span>");
} </span><span><span class="hljs-keyword">else</span></span><span> {
</span><span><span class="hljs-variable language_">$this</span></span><span>-></span><span><span class="hljs-title function_ invoke__">error</span></span><span>(</span><span><span class="hljs-string">'ယခုPHPမူကွဲကိုမပံ့ပိုးပါcli_set_process_titleလုပ်ဆောင်ချက်'</span></span><span>);
}
}
}
</span></span>
အထက်ပါကုဒ်တွင်အောက်ပါတို့ကိုကျွန်ုပ်တို့လုပ်ဆောင်ခဲ့သည်။
Artisan command အသစ်တစ်ခု - Process-title command line parameter title ကို လက်ခံသည့် Parneter Parameter ခေါင်းစဉ်ကိုလက်ခံသည်။
လက်ကိုင် နည်းလမ်းတွင် cli_set_process_title ကို လုပ်ငန်းစဉ်ခေါင်းစဉ်ကိုမှန်ကန်စွာသတ်မှတ်ရန်အသုံးပြုသည်။
အကယ်. cli_set_socess_title functitle ကိုမရရှိနိုင်ပါက (ဥပမာ, PHP ပတ်ဝန်းကျင်) သည်ဤ function ကိုမထောက်ပံ့ပါ။
ထို့နောက်ကျွန်ုပ်တို့သည်ဤ command အသစ်ကို app / console / cernel.php ဖိုင်တွင်မှတ်ပုံတင်ရန်လိုအပ်သည်။ $ commands array အတွက် command အသစ်ကိုရည်ညွှန်းချက်ထည့်သွင်းပါ။
<span><span><span class="hljs-keyword">protected</span></span><span> </span><span><span class="hljs-variable">$commands</span></span><span> = [
</span><span><span class="hljs-title class_">Commands\SetProcessTitleCommand</span></span><span>::</span><span><span class="hljs-variable language_">class</span></span><span>,
];
</span></span>
ယခုကျွန်ုပ်တို့သည်အောက်ပါ command ကိုဖွင့်ခြင်းဖြင့်လုပ်ငန်းစဉ်ခေါင်းစဉ်၏ချိန်ညှိချက်များကိုစစ်ဆေးနိုင်သည်။
<span><span>php artisan </span><span><span class="hljs-built_in">set</span></span><span>:process-title </span><span><span class="hljs-string">"My Custom Process Title"</span></span><span>
</span></span>
အရာအားလုံးအဆင်ပြေမယ်ဆိုရင်လုပ်ငန်းစဉ်ခေါင်းစဉ်ကို system ရဲ့ PS command နဲ့အလားတူကိရိယာများမှတဆင့်ကြည့်ရှုနိုင်သည်။ ဖြစ်စဉ်၏ခေါင်းစဉ်ကို " ကျွန်ုပ်၏စိတ်ကြိုက်လုပ်ငန်းစဉ်ခေါင်းစဉ် " ကိုအောင်မြင်စွာသတ်မှတ်ထားကြောင်းသင်တွေ့မြင်ရပါမည်။
Process command များ၌ပုံမှန်လုပ်ဆောင်မှုခေါင်းစဉ်ကိုသင် update လုပ်ရန်လိုအပ်ပါက cli_set_process_title အား command ကိုသတ်သတ်မှတ်မှတ်ခေါ်ယူနိုင်ပါသည်။ ဥပမာအားဖြင့်, task traque ကို processing လုပ်သည့်အခါ, လက်ရှိလုပ်ဆောင်နေသောလုပ်ငန်းအပေါ် အခြေခံ. လုပ်ငန်းစဉ်ပုံစံကိုသင်ပြောင်းလဲခြင်းပြုလုပ်နိုင်သည်။
ရှည်လျားသော run ထားသည့် command ကိုကွပ်မျက်သည့်အခါလုပ်ငန်းစဉ်ခေါင်းစဉ်များမည်သို့ပြောင်းလဲခြင်းကိုပြသသည့်ဥပမာတစ်ခုဖြစ်သည်။
<span><span><span class="hljs-keyword">public</span></span><span> </span><span><span class="hljs-function"><span class="hljs-keyword">function</span></span></span><span> </span><span><span class="hljs-title">handle</span></span><span>(</span><span><span class="hljs-params"></span></span><span>)
{
</span><span><span class="hljs-variable">$tasks</span></span><span> = </span><span><span class="hljs-variable language_">$this</span></span><span>-></span><span><span class="hljs-title function_ invoke__">getTasks</span></span><span>(); </span><span><span class="hljs-comment">// သင်အလုပ်များကိုအစုတခုရပြီဆိုပါစို့</span></span><span>
</span><span><span class="hljs-keyword">foreach</span></span><span> (</span><span><span class="hljs-variable">$tasks</span></span><span> </span><span><span class="hljs-keyword">as</span></span><span> </span><span><span class="hljs-variable">$index</span></span><span> => </span><span><span class="hljs-variable">$task</span></span><span>) {
</span><span><span class="hljs-variable">$title</span></span><span> = </span><span><span class="hljs-string">"အလုပ်များကိုကိုင်တွယ် <span class="hljs-subst">$index</span></span></span><span> / " . </span><span><span class="hljs-title function_ invoke__">count</span></span><span>(</span><span><span class="hljs-variable">$tasks</span></span><span>);
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-title function_ invoke__">function_exists</span></span><span>(</span><span><span class="hljs-string">'cli_set_process_title'</span></span><span>)) {
</span><span><span class="hljs-title function_ invoke__">cli_set_process_title</span></span><span>(</span><span><span class="hljs-variable">$title</span></span><span>);
}
</span><span><span class="hljs-comment">// အလုပ်များကိုကိုင်တွယ်</span></span><span>
</span><span><span class="hljs-variable language_">$this</span></span><span>-></span><span><span class="hljs-title function_ invoke__">processTask</span></span><span>(</span><span><span class="hljs-variable">$task</span></span><span>);
</span><span><span class="hljs-comment">// အကျိုးသက်ရောက်မှုကိုပြသရန်,ဒီမှာအလုပ်တစ်ခုစီ၏အပြောင်းအလဲနဲ့အချိန်ကိုတုပကြပါစို့</span></span><span>
</span><span><span class="hljs-title function_ invoke__">sleep</span></span><span>(</span><span><span class="hljs-number">1</span></span><span>);
}
}
</span></span>
အထက်ပါကုဒ်များတွင် command သည်အလုပ်များကိုဖြတ်ပြီးအလုပ်တစ်ခုစီကိုလုပ်ဆောင်နေစဉ်လုပ်ဆောင်မှုခေါင်းစဉ်ကိုအဆင့်မြှင့်တင်သည်။ ဤနည်းအားဖြင့်သင်သည်လက်ရှိဖြစ်စဉ်၏အခြေအနေကို command line တွင်အချိန်မှန်တွင်တွေ့နိုင်သည်။
cli_get_process_title နှင့် cli_set_socess_title functitle functitle functitle လုပ်ဆောင်ချက်များကိုမှတဆင့် Laravel Artisan command များအတွက် dynamic process ခေါင်းစဉ်များကိုသတ်မှတ်နိုင်သည်။ အထူးသဖြင့်ဖွံ့ဖြိုးတိုးတက်မှုနှင့်ထုတ်လုပ်မှုပတ် 0 န်းကျင်တွင်ရှည်လျားသောအမိန့်များကိုအသုံးပြုသောအခါ command line တွင်နောက်ခံအရောင်တွင်မတူကွဲပြားသောဖြစ်စဉ်များကိုခွဲခြားသောအခါကွဲပြားခြားနားသောဖြစ်စဉ်များကိုခွဲခြားရန်အလွန်အထောက်အကူပြုသည်။
Cli_set_socess_title funit ကို PHP ဗားရှင်းအားလုံးမှပံ့ပိုးမှုမရှိသော်လည်းလုပ်ငန်းစဉ်စီမံခန့်ခွဲမှုနှင့်စောင့်ကြည့်လေ့လာရန်လိုအပ်သည့် developer များအတွက်အလွန်အသုံးဝင်သောကိရိယာတစ်ခုဖြစ်သည်။ ဤဆောင်းပါးသည်သင်၏ laravel project တွင်ဤအင်္ဂါရပ်တွင်ဤအင်္ဂါရပ်ကိုအကောင်အထည်ဖော်ရန်,