فهرست:

فریمورک لاراول سه ابزار اصلی را برای تعامل از طریق خط فرمان در اختیار دارد:

  • Artisan
  • Ticker
  • REPL

در این مبحث به طور مختصر درباره خط فرمان Artisan در لاراول توضیح می دهیم.

مقدمه ای بر Artisan

Artisan رابط خط فرمانی است که به طور مکرر در لاراول کاربرد داشته و شامل مجموعه ای از دستورات مفید برای توسعه یک وب اپلیکیشن است.

چند مثال برای Artisan

در اینجا لیستی از چند دستور در Artisan همراه با ویژگی های مربوطه را می آوریم. با خط فرمان زیر می توانید پروژه لاراول خود را شروع و اجرا نمائید.

[pastacode lang=”markup” manual=”php%20artisan%20serve” message=”” highlight=”” provider=”manual”/]

با خط فرمان زیر می توانید مکانیزم کش را در پروژه لاراول خود فعال نمائید.

[pastacode lang=”markup” manual=”php%20artisan%20route%3Acache” message=”” highlight=”” provider=”manual”/]

برای مشاهده لیست دستورات موجود و پشتیبانی شده توسط Artisan از خط فرمان زیر استفاده نمائید.

[pastacode lang=”markup” manual=”php%20artisan%20list” message=”” highlight=”” provider=”manual”/]

از خط فرمان زیر برای مشاهده راهنما در مورد هر دستوری و مشاهده گزینه ها استفاده نمائید.

[pastacode lang=”markup” manual=”php%20artisan%20help%20serve” message=”” highlight=”” provider=”manual”/]

سفارشی سازی Artisan در لاراول

علاوه بر دستورات ذکر شده در Artisan، کاربر می تواند یک دستور سفارشی ایجاد و در وب اپلیکیشن مورد نظر استفاده کند. لطفاً توجه داشته باشید که دستورات در app/console/commands ذخیره می شوند. دستور پیش فرض برای ایجاد خط فرمان تعریف شده توسط کاربر در زیر نشان داده شده است.

[pastacode lang=”markup” manual=”php%20artisan%20make%3Aconsole%20%3Cname-of-command%3E” message=”” highlight=”” provider=”manual”/]

فایل ایجاد شده برای DefaultCommand به عنوان DefaultCommand.php نامگذاری و در زیر نشان داده شده است.

[pastacode lang=”php” manual=”%3C%3Fphp%0A%0Anamespace%20App%5CConsole%5CCommands%3B%0Ause%20Illuminate%5CConsole%5CCommand%3B%0A%0Aclass%20DefaultCommand%20extends%20Command%7B%0A%20%20%20%2F**%0A%20%20%20%20%20%20*%20The%20name%20and%20signature%20of%20the%20console%20command.%0A%20%20%20%20%20%20*%0A%20%20%20%20%20%20*%20%40var%20string%0A%20%20%20*%2F%0A%20%20%20%0A%20%20%20protected%20%24signature%20%3D%20’command%3Aname’%3B%0A%20%20%20%0A%20%20%20%2F**%0A%20%20%20%20%20%20*%20The%20console%20command%20description.%0A%20%20%20%20%20%20*%0A%20%20%20%20%20%20*%20%40var%20string%0A%20%20%20*%2F%0A%20%20%20%0A%20%20%20protected%20%24description%20%3D%20’Command%20description’%3B%0A%20%20%20%0A%20%20%20%2F**%0A%20%20%20%20%20%20*%20Create%20a%20new%20command%20instance.%0A%20%20%20%20%20%20*%0A%20%20%20%20%20%20*%20%40return%20void%0A%20%20%20*%2F%0A%20%20%20%0A%20%20%20public%20function%20__construct()%20%7B%0A%20%20%20%20%20%20parent%3A%3A__construct()%3B%0A%20%20%20%7D%0A%20%20%20%0A%20%20%20%2F**%0A%20%20%20%20%20%20*%20Execute%20the%20console%20command.%0A%20%20%20%20%20%20*%0A%20%20%20%20%20%20*%20%40return%20mixed%0A%20%20%20*%2F%0A%20%20%20%0A%20%20%20public%20function%20handle()%20%7B%0A%20%20%20%20%20%20%2F%2F%0A%20%20%20%7D%0A%7D” message=”” highlight=”” provider=”manual”/]

این فایل شامل امضا و توضیحات تعریف شده برای دستوری است، که توسط کاربر ایجاد شده است. تابع handle عملکرد مورد نظر را هنگام اجرای دستور اجرا می کند. این دستورات در فایل Kernel.php در همان دایرکتوری تعریف می شوند. همچنین همانطور که در کد زیر نشان داده شده شما می توانید فهرست کار ها را برای دستور تعریف شده توسط کاربر ایجاد کنید.

[pastacode lang=”php” manual=”%3C%3Fphp%0A%0Anamespace%20App%5CConsole%3B%0A%0Ause%20Illuminate%5CConsole%5CScheduling%5CSchedule%3B%0Ause%20Illuminate%5CFoundation%5CConsole%5CKernel%20as%20ConsoleKernel%3B%0A%0Aclass%20Kernel%20extends%20ConsoleKernel%20%7B%0A%20%20%20%2F**%0A%20%20%20%20%20%20*%20The%20Artisan%20commands%20provided%20by%20your%20application.%0A%20%20%20%20%20%20*%0A%20%20%20%20%20%20*%20%40var%20array%0A%20%20%20*%2F%0A%20%20%20%0A%20%20%20protected%20%24commands%20%3D%20%5B%0A%20%20%20%20%20%20%2F%2F%20Commands%5CInspire%3A%3Aclass%2C%0A%20%20%20%20%20%20Commands%5CDefaultCommand%3A%3Aclass%0A%20%20%20%5D%3B%0A%20%20%20%0A%20%20%20%2F**%0A%20%20%20%20%20%20*%20Define%20the%20application’s%20command%20schedule.%0A%20%20%20%20%20%20*%0A%20%20%20%20%20%20*%20%40param%20%5CIlluminate%5CConsole%5CScheduling%5CSchedule%20%24schedule%0A%20%20%20%20%20%20*%20%40return%20void%0A%20%20%20*%2F%0A%20%20%20%0A%20%20%20protected%20function%20schedule(Schedule%20%24schedule)%20%7B%0A%20%20%20%20%20%20%2F%2F%20%24schedule-%3Ecommand(‘inspire’)%0A%20%20%20%20%20%20%2F%2F%20-%3Ehourly()%3B%0A%20%20%20%7D%0A%7D” message=”” highlight=”” provider=”manual”/]

توجه داشته باشید که فهرست کار ها در تابعی به نام schedule تعریف شده است و شامل پارامتری برای زمانبندی کارها بطور ساعتی است. دستورات بصورت آرایه ای تعریف می شوند که شامل مسیر و نام دستورات است. پس از تعریف، دستور مورد نظر در فهرست دستورات Artisan لیست می شود و مقادیر موجود در بخش امضا و توضیحات هنگامی که با خط فرمان help دستور مشخص شده را فراخوانی کنید، نمایش داده می شوند. برای مشاهده ویژگی های دستور DefaultCommand باید مطابق با خط فرمان زیر از این دستور استفاده کنید.

[pastacode lang=”markup” manual=”php%20artisan%20help%20DefaultCommand” message=”” highlight=”” provider=”manual”/]