# Essential Laravel Artisan Command

## PHP Artisan কী?

*   PHP artisan হচ্ছে কমান্ড লাইন ইন্টারফ্যাস যা লারাভেল এপ্লিকেশন ডেভেলপ করার জন্য ব্যবহার করা হয়।
    

PHP artisan কেন ব্যববহার করা হয়??

PHP Artisan ব্যবহার করা হয় ফাংশনাল অপারেশন গুলো করার জন্য, যেমন ডাটাবেস মাইগ্রেশন,নতুন প্যাকেজ এসেট পাবলিশ।

PHP artisan এ শুধু যে built in laravel command নিয়ে কাজ করতে পারবেন তা কিন্তু না, আপনি চাইলে আপনার নিজস্ব বানানো লারাভেল কমান্ড নিয়েও কাজ করতে পারবেন। ডেভেলপাররা সাধারণত প্রজেক্টের রিকোয়ারমেন্টের উপর নির্ভর করে custom laravel command তৈরী করে।

Pre built-in artisan commands গুলো দেখতে পারেন, এভাবে:

`Php artisan list`

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1671019706362/Zxdln38m6.png align="center")

উপরোক্ত সব কমান্ডগুলো ডেভেলপরারদের জীবন সহজ করে এবং পাশাপাশি মূল্যবান সময় বাঁচায়।

আজকে আমার দেখবো বহুল ব্যবহৃত ও খুবই প্রয়োজনী কিছু artisan command, যা একজন লারাভেল ডেভেলপারের জানা অত্যাবশ্যক না হলেও এ সমন্ধে ধারণা রাখা অতীব জরুরী।

**Artisan**

`php artisan --version or -v`

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1671020322899/hBIM39X3I.png align="center")

লারাভেলের রানিং ভার্সন চেক করার জন্য, এই কমান্ড ব্যবহার করা হয়।

`php artisan env`

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1671020363204/8_Y1LRlVO.png align="center")

রানিং ফ্রেমওয়ার্কের environment প্রদর্শনের জন্য এই কমান্ড ব্যবহার করা হয়।

`php artisan optimize`

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1671020392667/jceBcJANt.png align="center")

ফ্রেমওয়ার্কের পারফরমেন্স বৃদ্ধি করার জন্য এই কমান্ড রান করা হয়।

`php artisan down`

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1671020451665/qISQtb8-R.png align="center")

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1671020426731/zSaNhMD-Z.png align="center")

এই কমান্ডের সাহায্যে এপ্লিকেশনকে maintenance mode এ রাখা হয়, অর্থ্যাৎ ভিজিটরা সাইটে maintenance মেসেজ দেখতে পাবে।

`php artisan up`

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1671020886239/mw2D9Q1mj.png align="center")

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1671020928670/xok4wZmIn.png align="center")

এই কমান্ডের সাহায্যে এপ্লিকেশনকে আবার রানিং করা হয় maintenance mode থেকে।

`php artisan migrate`

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1671020965514/qL4GZynXo.png align="center")

ডাটাবেসের মাইগ্রেশন run করার জন্য এই কমান্ড ব্যবহার করা হয়।

`php artisan serve`

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1671021053819/D_i_E_0tp.png align="center")

এপ্লিকেশনকে php development server এ রান করার জন্য এই কমান্ড ব্যবহার করা হয়। যা [localhost](http://localhost):port8080 এর মাধ্যমে access করা যায়।

**Key**

☛ key:generate

এই কমান্ডের সাহায্যে নতুন একটি key generate হয় & এপ্লিকেশনের .env file এ যুক্ত হয়। তাছাড়া এই কমান্ড ব্যবহার করা হয় existing project clone করার জন্য। আর এই app key মূলত ব্যবহৃত হয় cookies গুলো encrypt করার জন্য।

`Example: php artisan key:generate`

**Make**

☛ make:controller

এই কমান্ডের সাহায্যে নতুন কন্ট্রোলার তৈরী করা হয়, app/Http/controllers Example: php make:controller

`Example: php artisan make:controller`

☛ make:auth

এপ্লিকেশনে প্রয়োজনীয় সব authentication প্রসেস করার জন্য এই কমান্ড ব্যবহার করা হয়। এই কমান্ডের পরপরই আরকেটা কমান্ড run করতে হয়, php artisan migrate, যাতে Login and Register route নেভিগেট করা যায়।

`Example: php artisan make:auth`

☛ make:middleware

নতুন middleware তৈরী করার জন্য এই কমান্ড ব্যবহার করা হয়।

`Example: php artisan make:middleware`

☛ make:model

নতুন Eloquent model class তৈরী করার জন্য এই কমান্ড ব্যবহার করা হয়।

`Example: php artisan make:model`

☛make:provider

নতুন সার্ভিস প্রভাইডার class তৈরী করার জন্য এই কমান্ড ব্যবহার করা হয়।

`Example: php artisan make:provider`

☛ make:request

নতুন form request class তৈরী করার জন্য এই কমান্ড ব্যবহার হয়।

`Example: php artisan make:request`

☛make:seeder

নতুন seeder class তৈরী করার জন্য এই কমান্ড ব্যবহার করা হয়।

`Example: php artisan make:seeder`

☛make:resource

নতুন রির্সোস তৈরী করার জন্য এই কমান্ড ব্যবহার করা হয়।

`Example: php artisan make:resource`

☛make:test

নতুন test class তৈরী করার জন্য এই কমান্ড ব্যবহার করা হয়।

`Example: php artisan make:test`

**Route**

☛ route:list

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1671021363607/6_L7YOY_h.png align="center")

সবগুলো রেজিষ্ট্রাট route একসাথে দেখার জন্য এই কমান্ড ব্যবহার করা হয়।

`Example: php artisan route:list`

☛ route:clear route

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1671021401070/umEoDMCLl.png align="center")

ক্যাশ ফাইল remove করার জন্য এই কমান্ড ।

`Example: php artisan route:clear`

☛ route:cache

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1671021446874/iCjLhxEUh.png align="center")

একটি নতুন ক্যাশ ফাইল তৈরী করা হয় এবং দ্রুততার সহিত route রেজিষ্ট্রেশন করার জন্য এই কমান্ড ব্যবহার করা হয়।

`Example: php artisan route:cache`
