Nếu đã có lần làm project bởi Laravel thì chắc rằng các bạn đã từng có lần nghe về cái brand name Artisan hoặc ít nhất thì cũng từng chạy các câu lệnh nlỗi php artisan make:controller UsersController, php artisan migration, php artisan serve sầu... Vậy thực tế nó là gì? Qua bài viết này, bản thân ý muốn rằng những bạn sẽ gọi thêm về Laravel Artisan cùng hoàn toàn có thể từ bỏ tạo ra câu lệnh Artisan đến riêng rẽ mình. Bắt đầu thôi =)))

1. Giới thiệu

Theo mình tìm hiểu thì Artisan là giao diện mẫu lệnh (command-line interface) kèm theo với Laravel được xây cất dựa trên component Symfony Console. Nó cũng cung cấp mang đến chúng ta 1 loạt các tác dụng bổ ích nlỗi cách xử trí những quá trình bằng tay bằng Việc auto hóa bọn chúng nlỗi sinc key mã hóa, thao tác với database (migrate, seed...), sinh sản những template theo các mẫu mã khác nhau như Model, Controller, Event... tự kia rút ngắn được thời hạn và tăng năng suất quá trình, khôn cùng xứng đáng với cái brand name của nó. Để coi list những câu lệnh được cung cấp, chúng ta có thể sử dụng câu lệnh:

php artisan listMỗi câu lệnh đều phải có những tmê say số cùng tùy chọn đi kèm theo, nhằm hiển thị cụ thể về câu lệnh chỉ việc để trước thương hiệu của lệnh trường đoản cú khóa help. lấy một ví dụ bạn muốn tìm hiểu về lệnh db:seed thì đã sử dụng câu lệnh sau

php artisan help db:seed2. Tạo câu lệnhNhư mình đã nhắc tới ở bên trên, Artisan hỗ trợ mang lại họ không ít câu lệnh hữu ích dẫu vậy nếu như từng kia chưa đầy đủ để Ship hàng mục tiêu của công ty thì chúng ta có thể từ bỏ tạo nên những câu lệnh giao hàng đến mục tiêu riêng rẽ của bản thân mình. Để chế tạo ra lệnh mới, bọn họ đang sử dụng lệnh make:comm& của Artisan, nó sẽ khởi tạo ra một class cho câu lệnh này với lưu trong app/Console/Commands. Trong ví dụ dưới đây, chúng ta sẽ tạo ra câu lệnh để tạo nên một hoặc các thông tin tài khoản gồm quyền admin hoặc ko.

Bạn đang xem: Artisan là gì

Cấu trúc tệp tin Command

Trước hết bọn họ tạo AccountComm& bởi lệnh php artisan make:commvà AccountCommvà. File AccountCommand.php sẽ được tạo thành trong folder Commands cùng với văn bản nhỏng sau:

Có 3 trang bị buộc phải để ý tại chỗ này đó là:

Angruments và Options

Laravel được cho phép khai báo thương hiệu, đối số, tùy lựa chọn của câu lệnh thông quan thay đổi signature bên dưới dạng một quý hiếm, biểu thức hay cú pháp. Tất cả đối số với tùy lựa chọn những phải để trong cặp dấu ngoặc nhọn.

Xem thêm: Hướng Dẫn Cách Làm Sáng Hạt Đá Cubic Zirconia, Mẹo Làm Sạch Đồ Trang Sức Sáng Như Mới

protected $signature = "create:tài khoản username --adminTrong ví dụ này, tùy lựa chọn --admin hoàn toàn có thể được điện thoại tư vấn lúc chạy câu lệnh. Nếu nhỏng --admin được call thì quý giá của tùy chọn này là true còn nếu không thì đã là false.

php artisan create:account admin --adminCác tùy chọn khác Lúc knhị báo:

Optional: create:account username?Default value: create:account username=defaultValueShortcut: create:trương mục username --admin ví dụ: php artisan create:trương mục admin -aArray input: delete:account --id=* ví dụ: php artisan delete:account --id=1 --id=2Required option: `delete:account --id=Boolean option: create:trương mục --admin

quý khách hàng cũng có thể thêm biểu lộ cho đối số hoặc tùy lựa chọn lúc knhị báo $signature nhằm cho tất cả những người không giống khi dùng hoàn toàn có thể biết được những tmê say số và tùy lựa chọn đó được áp dụng với mục tiêu gì.

protected $signature = "create:account username: Tên tài khoản --admin: Tạo thông tin tài khoản với quyền admin";

Description

protected $description = "Command description";

Biến $mô tả tìm kiếm giúp cho bạn thêm biểu hiện về câu lệnh của bản thân cùng đã hiển thị Khi người tiêu dùng gõ lệnh php artisan các mục xuất xắc php artisan help

command command:name Comm& description

Xử lý logic

Hàm handle() sẽ được Call mọi khi commvà của bạn được tiến hành vậy nên chúng ta có thể giải pháp xử lý tài liệu làm việc trong hàm này. Để mang tài liệu cơ mà họ đã nhập sống command-line Laravel cung cấp cách làm argument() để lấy tyêu thích số và option() để lấy tùy lựa chọn. Ví dụ:

/** * Exeđáng yêu the console commvà. * *
return mixed */ public function handle() // Lấy tđam mê số username $username = $this->argument("username"); // Lấy toàn bộ tmê man số, quý hiếm trả về vẫn là 1 trong mảng $arguments = $this->arguments(); // Lấy tùy chọn id $id = $this->option("id); // Lấy tất cả tùy chọn, quý giá trả về sẽ là một trong những mảng $options = $this->options(); Đã bao giờ bạn tải một lịch trình qua command-line và trong quá trình cài đề xuất vấn đáp các câu hỏi nlỗi "Press enter to keep the default<>, or type selection number:" tuyệt "Do you wish to continue? "? Laravel Artisan cũng hỗ trợ mang lại chúng ta các tùy lựa chọn điều này, ví dụ:

Lấy quý giá thông qua đầu vào tự tín đồ dùng:

$username = $this->ask("Username: ");Câu hỏi ko hiển thị câu chữ Khi nhập:

$password = $this->secret("Password: ");Câu hỏi xác thực Yes/No:

if ($this->confirm("Do you wish to continue? ")) //Câu hỏi lựa chọn:

$gender = $this->choice("What is your gender?, <"Male", "Female">, $default);3. Đăng cam kết câu lệnhĐăng ký câu lệnh vừa chế tạo với Artisan bằng phương pháp thêm thương hiệu class vào ở trong tính $commands vào app/Console/Kernel.php. lúc Artisan khởi đụng, tất cả những kệnh được liệt kê trong list sẽ được service container giải quyết với ĐK cùng với Artisan:

protected $commands = < CommandsAccountCommand::class>;Trong trường vừa lòng class khai báo câu lệnh ko phía trong tlỗi mục Commands nhưng mà nằm trong tlỗi mục AccountCommands thì khai báo nhỏng sau:

/** * Register the commands for the application. * *
return void */protected function commands() $this->load(__DIR__."/Commands"); $this->load(__DIR__."/AccountCommands"); // ...Trên đây là đều gì bản thân tò mò được về Artisan với biện pháp chế tạo các câu lệnh tùy lựa chọn mang lại nó. Mong rằng qua nội dung bài viết này để giúp chúng ta đọc nhận thêm về artisan với tạo ra những câu lệnh cho riêng rẽ bản thân. Nếu tất cả thắc mắc gì thì các bạn hãy còn lại bình luận phía bên dưới cho chính mình nhé!!