Artisan là gì

Nếu đã có lần có tác dụng project bằng Laravel thì có lẽ rằng chúng ta đã từng nghe về cái tên Artisan hoặc tối thiểu thì cũng từng chạy những câu lệnh như php artisan make:controller UsersController, php artisan migration, php artisan serve sầu... Vậy thực chất nó là gì? Qua nội dung bài viết này, bản thân ao ước rằng các bạn sẽ gọi thêm về Laravel Artisan và có thể trường đoản cú tạo nên câu lệnh Artisan đến riêng rẽ bản thân. Bắt đầu thôi =)))

1. Giới thiệu

Theo bản thân khám phá thì Artisan là đồ họa loại lệnh (command-line interface) đi kèm cùng với Laravel được sản xuất dựa trên component Symfony Console. Nó cũng cấp cho mang lại chúng ta 1 loạt những công dụng hữu ích nhỏng giải pháp xử lý những quá trình thủ công bởi vấn đề auto hóa bọn chúng nlỗi sinh key mã hóa, làm việc cùng với database (migrate, seed...), chế tạo ra các template theo các mẫu không giống nhau như Model, Controller, Event... từ đó tinh giảm được thời hạn cùng tăng năng suất các bước, khôn cùng xứng danh cùng với cái tên của nó. Để xem list các câu lệnh được hỗ trợ, bạn có thể thực hiện câu lệnh:

php artisan listMỗi câu lệnh đều có các tđam mê số cùng tùy lựa chọn kèm theo, nhằm hiển thị chi tiết về câu lệnh chỉ cần nhằm trước thương hiệu của lệnh tự khóa help. Ví dụ bạn muốn khám phá về lệnh db:seed thì đã cầ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 ứng cho bọn họ rất nhiều câu lệnh hữu dụng nhưng lại nếu từng đó chưa đủ để phục vụ mục tiêu của chúng ta thì bạn cũng có thể trường đoản cú tạo thành các câu lệnh ship hàng mang đến mục đích riêng biệt của chính mình. Để sinh sản lệnh bắt đầu, chúng ta đã dùng lệnh make:comm& của Artisan, nó sẽ tạo ra một class mang đến câu lệnh này với lưu giữ vào app/Console/Commands.


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


Xem thêm: Con Gái Nhìn Gì Ở Con Trai Đầu Tiên Trên Cơ Thể Phụ Nữ? Đàn Ông Nhìn Gì Đầu Tiên Trên Cơ Thể Phụ Nữ


Xem thêm: Tại Sao Gọi Là Chùa Bái Đính Cổ 1000 Năm Ở Ninh Bình, Tài Liệu Thuyết Minh Du Lịch Bái Đính


Trong ví dụ dưới đây, chúng ta sẽ khởi tạo ra câu lệnh để tạo thành một hoặc nhiều tài khoản có quyền admin hoặc không.quý khách đang xem: Artisan là gì

Cấu trúc tệp tin Command

trước hết họ chế tạo AccountCommvà bằng lệnh php artisan make:comm& AccountCommvà. File AccountCommvà.php sẽ tiến hành tạo thành vào folder Commands cùng với văn bản như sau:

Có 3 thứ đề xuất chú ý tại chỗ này đó là:

Angruments cùng Options

php artisan create:trương mục admin --adminCác tùy lựa chọn không giống Khi knhì báo:

Optional: create:trương mục 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:tài khoản --id=* ví dụ: php artisan delete:tài khoản --id=1 --id=2Required option: `delete:tài khoản --id=Boolean option: create:account --admin

Quý khách hàng cũng hoàn toàn có thể thêm biểu đạt mang lại đối số hoặc tùy lựa chọn Khi knhị báo $signature để cho tất cả những người khác khi sử dụng hoàn toàn có thể hiểu rằng các tđắm đuối số và tùy lựa chọn đó được thực hiện với mục tiêu gì.

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

Description

protected $mô tả tìm kiếm = "Comm& description";

Biến $mô tả tìm kiếm khiến cho bạn thêm biểu hiện về câu lệnh của chính mình cùng sẽ hiển thị Lúc người tiêu dùng gõ lệnh php artisan danh sách tuyệt php artisan help

commvà command:name Command description

Xử lý logic

Hàm handle() sẽ được Hotline mỗi lúc command của người tiêu dùng đượ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 vào hàm này. Để mang dữ liệu cơ mà họ đã nhập nghỉ ngơi command-line Laravel cung cấp cách làm argument() để lấy tmê man số cùng option() để lấy tùy chọn. Ví dụ:

/** * Execute the console comm&. * * return mixed */ public function handle() // Lấy tham mê số username $username = $this->argument("username"); // Lấy toàn bộ tđắm say số, cực hiếm trả về đang là một mảng $arguments = $this->arguments(); // Lấy tùy chọn id $id = $this->option("id); // Lấy toàn bộ tùy chọn, quý hiếm trả về vẫn là 1 mảng $options = $this->options(); Đã lúc nào bạn thiết lập một chương trình qua command-line với trong quá trình cài phải vấn đáp các câu hỏi nlỗi "Press enter to keep the mặc định, or type selection number:" giỏi "Do you wish to continue? "? Laravel Artisan cũng cung cấp mang lại bọn họ các tùy lựa chọn điều đó, ví dụ:

Lấy cực hiếm thông qua đầu vào tự bạn dùng:

$username = $this->ask("Username: ");Câu hỏi không hiển thị văn bản khi nhập:

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

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

$gender = $this->choice("What is your gender?, , $default);3. Đăng ký kết câu lệnhĐăng ký kết câu lệnh vừa tạo thành với Artisan bằng phương pháp thêm thương hiệu class vào trực thuộc tính $commands vào app/Console/Kernel.php. lúc Artisan khởi rượu cồn, tất cả những kệnh được liệt kê vào list sẽ tiến hành service container xử lý với ĐK với Artisan:

protected $commands = ;Trong trường hòa hợp class knhị báo câu lệnh không bên trong thư mục Commands nhưng nằm trong tlỗi mục AccountCommands thì knhị 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à đều gì mình khám phá được về Artisan với phương pháp tạo các câu lệnh tùy chọn mang lại nó. Mong rằng qua bài viết này sẽ giúp đỡ các bạn gọi đạt thêm về artisan với tạo ra các câu lệnh mang đến riêng rẽ mình. Nếu gồm vướng mắc gì thì chúng ta hãy giữ lại phản hồi phía bên dưới cho khách hàng nhé!!


Chuyên mục: Hỏi Đáp