Custom lệnh Artisan trong Laravel

Tram Ho

Hiện nay, với ngôn ngữ PHP thì framework Laravel là một trong những framework phổ biến nhất hiện nay. Có rất nhiều dự án sử dụng dụng Laravel để triển khai dự án vì những tính năng tuyệt vời của nó. Và lệnh Artisan là một trong những tính năng tuyệt vời đó. Mặc định thì Laravel cung cấp cho chúng ta một số lệnh cơ bản để chúng ta phát triển ứng dụng. Vậy làm sao chúng ta có thể tạo lệnh theo ý chúng ta, cùng tìm hiểu qua bài viết của mình nhé

Artisan xây dựng dựa trên thành phần Symfony Console

Một số command cơ bản mà ứng dụng đã cung cấp cho chúng ta:

  • Lấy tất cả các lệnh Artisan có sẵn:

  • Khi bạn muốn được trợ giúp để biết về chi tiết về một command nào hay sử dụng, đối số và các options như thế nào, chúng ta có thể sử dụng command sau:

ví dụ: Chúng ta muốn biết chi tiết về command migrate:

Trên giao diện terminal sẽ hiển thị cho chúng ta chi tiết về command migrate

Các command thường sẽ được lưu ở thư mục app/Console/Commands. Tuy nhiên, bạn cũng có thể tùy chọn nơi bạn lưu lệnh command miễn là command của bạn được load bởi Composer, bạn cũng có thể cài đặt composer load trong file composer.json.

Để tạo một command mới chúng ta sử dụng lệnh Artisan make:command mà laravel đã cung cấp cho chúng ta. Command sau khi được tạo mới sẽ tạo một class mới được lưu trong thư mục app/Console/Commands. Nếu trong ứng dụng chưa có thư mục này thì sau khi tạo một command mới bằng lệnh Artisan make:command thì thư mục app/Console/Commands sẽ được tạo.

Sau khi tạo xong chúng ta vào file kernel.php để khai báo command

Chúng ta tạo command mới bằng lệnh sau:

Để biết chi tiết về lệnh make:command và các options của nó chúng ta sử dụng lệnh mà mình đã giới thiệu ở phần trên:


Như ở trong phần options của nó thì mình đã thêm option --command hello:name để gán tên command. Sau khi thực hiện lệnh tạo command trên chúng ta mở file app/Console/Commands/CustomCommand.php để sửa signaturedescription của command mà chúng ta tạo.

Ở đây mình sẽ sửa lại như sau:

fuction handle() sẽ được gọi khi chúng ta thực thi command. Ở đây mình sẽ lấy name mà khi chúng ta nhập vào khi thực thi command và hiển thị Hello name, This is custom Artisan command.

Sau đó chúng ta vào file kernel.php và thêm command của chúng ta:


Sau khi thực hiện các bước trên thì chúng ta kiểm tra lại xem command bằng php artisan list

Và để xem chi tiết về command chúng ta thực hiện:

php artisan help hello:name

Cuối cùng chúng ta cùng chạy command mà chúng ta đã tạo nào:

Kết quả sẽ hiển thị:

Chia sẻ bài viết ngay

Nguồn bài viết : Viblo