Nếu đã từng có lần làm cho project bằng Laravel thì chắc rằng chúng ta đã từng có lần nghe về cái tên Artisan hoặc tối thiểu 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... Vậy thực ra nó là gì? Qua bài viết này, bản thân mong rằng những bạn sẽ hiểu thêm về Laravel Artisan với rất có thể từ tạo ra câu lệnh Artisan đến riêng biệt mình. Bắt đầu thôi =)))
1. Giới thiệuTheo mình tìm hiểu thì Artisan là đồ họa loại lệnh (command-line interface) kèm theo cùng với Laravel được kiến tạo dựa vào component Symfony Console. Nó cũng cung cấp mang lại họ một loạt những chức năng bổ ích nlỗi xử lý các công việc bằng tay bằng vấn đề auto hóa bọn chúng như sinch key mã hóa, thao tác làm việc với database (migrate, seed...), sinh sản các template theo những mẫu mã khác nhau như Model, Controller, Event... từ bỏ đó rút ngắn được thời hạn với tăng năng suất các bước, vô cùng xứng danh cùng với cái thương hiệu của nó. Để coi danh sách các câu lệnh được hỗ trợ, bạn có thể sử dụng câu lệnh:
php artisan listMỗi câu lệnh đều phải sở hữu các ttê mê số cùng tùy chọn kèm theo, nhằm hiển thị chi tiết về câu lệnh chỉ cần để trước thương hiệu của lệnh trường đoản cú khóa help. ví dụ như mình muốn tò mò về lệnh db:seed thì vẫn sử dụng câu lệnh sau
php artisan help db:seed2. Tạo câu lệnhNlỗi tôi đã nói trên, Artisan cung cấp mang lại chúng ta không hề ít câu lệnh hữu dụng mà lại trường hợp từng đó chưa đầy đủ nhằm Giao hàng mục đích của người tiêu dùng thì chúng ta có thể trường đoản cú tạo thành những câu lệnh ship hàng cho mục tiêu riêng của bản thân mình. Để chế tạo lệnh new, chúng ta đang sử dụng lệnh make:command của Artisan, nó sẽ tạo nên ra một class mang lại câu lệnh này và lưu giữ trong app/Console/Commands. Trong ví dụ dưới đây, chúng ta sẽ tạo ra câu lệnh để tạo ra một hoặc các 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
Đầu tiên họ sản xuất AccountComm& bằng lệnh php artisan make:command AccountCommand. File AccountCommand.php sẽ được tạo thành vào folder Commands cùng với câu chữ như sau:
Có 3 trang bị bắt buộc chăm chú tại chỗ này đó là:
Angruments với Options
Laravel cho phép knhì báo thương hiệu, đối số, tùy lựa chọn của câu lệnh thông quan lại trở thành signature bên dưới dạng một giá trị, biểu thức hay cú pháp. Tất cả đối số và tùy lựa chọn phần đa phải kê trong cặp lốt ngoặc nhọn.
Xem thêm: With Whom Là Gì - Cách Sử Dụng Who Và Whom
protected $signature = "create:tài khoản username --adminTrong ví dụ này, tùy lựa chọn --admin có thể được Call lúc chạy câu lệnh. Nếu nlỗi --admin được Gọi thì giá trị của tùy chọn này là true còn còn nếu như không thì đã là false.
php artisan create:trương mục admin --adminCác tùy chọn khác Lúc khai báo:
Optional: create:tài khoản username?Default value: create:account username=defaultValueShortcut: create:trương mục username a ví dụ: php artisan create:account admin -aArray input: delete:account --id=* ví dụ: php artisan delete:account --id=1 --id=2Required option: `delete:account --id=Boolean option: create:account --adminBạn cũng hoàn toàn có thể thêm biểu lộ cho đối số hoặc tùy lựa chọn khi khai báo $signature để cho những người không giống khi sử dụng hoàn toàn có thể biết được những tsi mê số và tùy lựa chọn này được sử dụng cùng với mục đích gì.
protected $signature = "create:account username: Tên tài khoản --admin: Tạo tài khoản cùng với quyền admin";
Description
protected $description = "Comm& description";Biến $description giúp bạn thêm diễn đạt về câu lệnh của mình với đang hiển thị Khi người tiêu dùng gõ lệnh php artisan các mục tuyệt php artisan help
command command:name Commvà description
Xử lý logic
Hàm handle() sẽ tiến hành hotline mỗi khi command của công ty được triển khai thế cho nên chúng ta có thể xử trí tài liệu nghỉ ngơi trong hàm này. Để mang tài liệu mà họ đã nhập sống command-line Laravel cung ứng thủ tục argument() để lấy tđắm say số và option() để mang tùy lựa chọn. Ví dụ: /** * Exeđáng yêu the console command. * *
return mixed */ public function handle() // Lấy tsay mê số username $username = $this->argument("username"); // Lấy toàn bộ tham số, quý hiếm trả về sẽ là 1 trong mảng $arguments = $this->arguments(); // Lấy tùy lựa chọn id $id = $this->option("id); // Lấy tất cả tùy chọn, quý hiếm trả về sẽ là 1 trong mảng $options = $this->options(); Đã bao giờ các bạn thiết lập một chương trình qua command-line và trong quy trình tải yêu cầu trả lời các câu hỏi như "Press enter to keep the default<>, or type selection number:" tuyệt "Do you wish to lớn continue?
Lấy giá trị thông qua input trường đoản cú bạn dùng:
$username = $this->ask("Username: ");Câu hỏi không hiển thị ngôn từ Lúc nhập:
$password = $this->secret("Password: ");Câu hỏi xác thực Yes/No:
if ($this->confirm("Do you wish to lớn continue?
$gender = $this->choice("What is your gender?, <"Male", "Female">, $default);3. Đăng ký câu lệnhĐăng ký câu lệnh vừa sản xuất cùng với Artisan bằng cách thêm thương hiệu class vào ở trong tính $commands vào app/Console/Kernel.php. khi Artisan khởi cồn, toàn bộ những kệnh được liệt kê trong danh sách sẽ được service container xử lý và đăng ký với Artisan:
protected $commands = < CommandsAccountCommand::class>;Trong trường phù hợp class khai báo câu lệnh không phía bên trong thỏng mục Commands mà lại phía bên trong tlỗi mục AccountCommands thì khai báo nlỗi sau:
/** * Register the commands for the application. * *
return void */protected function commands() $this->load(__DIR__."/Commands"); $this->load(__DIR__."/AccountCommands"); // ...Trên đây là số đông gì mình tò mò được về Artisan và biện pháp tạo nên những câu lệnh tùy lựa chọn cho nó. Mong rằng qua nội dung bài viết này sẽ giúp các bạn phát âm đạt thêm về artisan cùng tạo nên những câu lệnh cho riêng biệt mình. Nếu bao gồm thắc mắc gì thì chúng ta hãy để lại phản hồi phía dưới cho doanh nghiệp nhé!!