Laravel gọi lệnh thủ công từ mã

Laravel là một full-stack framework cung cấp rất nhiều lệnh thủ công để tự động hóa các hành động khác nhau, như tạo bộ điều khiển, tạo cơ sở dữ liệu và khởi động máy chủ. Tuy nhiên, khi xây dựng các giải pháp tùy chỉnh, bạn có các nhu cầu đặc biệt của riêng mình, có thể bao gồm một lệnh mới. Laravel không giới hạn bạn chỉ với các lệnh của nó;

Dưới đây là các bước để tạo một lệnh thủ công mới

Bước 1. Tạo một ứng dụng Laravel mới

laravel new custom

Bước 2. Tạo một lệnh

Sử dụng lệnh

php artisan make:command CheckUsers
9 để tạo lệnh mới. Chỉ cần nhập tên lệnh, như vậy

php artisan make:command CheckUsers

Trong ví dụ này, chúng tôi đang tạo một lệnh có tên là

php artisan check:users
0

Lệnh tạo một tệp có tên

php artisan check:users
1, được đặt tên theo tên lệnh, trong thư mục
php artisan check:users
2 mới được tạo trong thư mục
php artisan check:users
3

Tệp được tạo chứa các cấu hình của lệnh mới được tạo dễ hiểu và dễ chỉnh sửa

Bước 3. tùy chỉnh lệnh

Đầu tiên, đặt chữ ký lệnh. Đây là những gì sẽ được đặt sau

php artisan check:users
4 để chạy lệnh. Trong ví dụ này, chúng tôi sẽ sử dụng
php artisan check:users
5, vì vậy lệnh sẽ có thể truy cập được bằng cách chạy

php artisan check:users

Để làm điều này, hãy cập nhật thuộc tính

php artisan check:users
6 của lệnh, như thế này

protected $signature = 'check:users';

Tiếp theo, thiết lập một mô tả phù hợp sẽ hiển thị khi

php artisan check:users
7 hiển thị lệnh cùng với các lệnh khác

Để thực hiện việc này, hãy cập nhật thuộc tính

php artisan check:users
8 để phù hợp với điều này

protected $description = 'Get count of users on the platform';

Cuối cùng, trong phương thức

php artisan check:users
9, hãy thực hiện bất kỳ hành động nào bạn định thực hiện. Trong ví dụ này, số lượng người dùng trên nền tảng được lặp lại

public function handle[]
{
    echo User::count[] . "\n";
}

Bước 4. lệnh kiểm tra

Trong thiết bị đầu cuối, hãy chạy lệnh để xem số lượng người dùng trong cơ sở dữ liệu của bạn

php artisan check:users

Truyền đối số cho lệnh

Bạn có thể có một lệnh cần đối số cho hàm. Ví dụ: một lệnh xóa tất cả các bài đăng của một người dùng cụ thể khỏi cơ sở dữ liệu sẽ yêu cầu id của người dùng

Để thêm đối số, hãy cập nhật chuỗi

php artisan check:users
6 và thêm đối số trong dấu ngoặc nhọn

protected $signature = 'remove:posts {userId}';

Lệnh này sau đó sẽ được gọi khi id của người dùng là 5

php artisan remove:posts 5

Vào những thời điểm khác, bạn muốn có thể chuyển vào một đối số, nhưng không phải lúc nào cũng vậy, vì vậy bạn có thể làm cho đối số trở thành tùy chọn bằng cách thêm một dấu chấm hỏi ở cuối, như sau

protected $signature = 'remove:posts {userId?}';

Bạn cũng có thể đặt giá trị mặc định cho đối số như vậy

php artisan make:command CheckUsers
0

Bạn cũng có thể chuyển vào nhiều đối số và biến chúng thành tùy chọn hoặc với các giá trị mặc định như bạn muốn

php artisan make:command CheckUsers
1

Những đối số này có thể được truy cập bằng cách sử dụng

php artisan make:command CheckUsers
2

Điều này trả về một mảng kết hợp với các đối số là khóa và giá trị của chúng là giá trị. Vì vậy, để truy cập đối số

protected $signature = 'check:users';
1, bạn có thể lấy nó như thế này

php artisan make:command CheckUsers
3

Tuy nhiên, có một cách khác để chỉ lấy một đối số

php artisan make:command CheckUsers
4

Truyền tùy chọn cho lệnh

Lệnh cũng có thể nhận được các tùy chọn. Các tùy chọn giống như các đối số và chúng được sử dụng để thêm thông tin vào lệnh. Chúng có thể được sử dụng mà không có đối số

Ví dụ: để chỉ đếm số người dùng có email đã xác minh, bạn có thể chuyển tùy chọn

protected $signature = 'check:users';
2 cho lệnh. Để tạo một tùy chọn, hãy chuyển nó vào thuộc tính
php artisan check:users
6 giống như đối số, nhưng thêm tiền tố vào nó là
protected $signature = 'check:users';
4

php artisan make:command CheckUsers
5

Bây giờ, lệnh có thể được sử dụng với một tùy chọn như thế này

php artisan make:command CheckUsers
6

Bạn có thể đặt một giá trị mặc định cho một tùy chọn hoặc đặt nó để yêu cầu một giá trị

php artisan make:command CheckUsers
7

Trong ví dụ này,

protected $signature = 'check:users';
5 yêu cầu sử dụng một giá trị và
protected $signature = 'check:users';
6 có giá trị mặc định là 5.
protected $signature = 'check:users';
7 được gán một giá trị Boolean tùy thuộc vào việc nó có được chuyển vào hay không

Giá trị của các tùy chọn này có thể được truy cập dễ dàng bằng cách sử dụng

protected $signature = 'check:users';
8 cho các tùy chọn đơn lẻ và
protected $signature = 'check:users';
9 để nhận tất cả các tùy chọn dưới dạng một mảng kết hợp

Mô tả các tham số đầu vào

Cho đến giờ, chúng ta đã học cách chấp nhận các đối số và thậm chí cả các tùy chọn, nhưng khi lệnh được sử dụng với

protected $description = 'Get count of users on the platform';
0, các đầu vào này không có mô tả. Để đặt những thứ này, chỉ cần thêm dấu hai chấm,
protected $description = 'Get count of users on the platform';
1, sau đối số hoặc tên tùy chọn

Chạy lệnh php artisan ở đâu?

Chạy các lệnh thủ công của Laravel trong PHP Storm .
Mở Tùy chọn> Công cụ> Hỗ trợ công cụ dòng lệnh
Nhấp vào biểu tượng dấu cộng
Chọn Laravel từ danh sách thả xuống Chọn công cụ và nhấn OK

Phương thức nào sẽ được gọi khi lệnh thủ công được thực thi?

Phương thức xử lý handle method sẽ được gọi khi lệnh của bạn được thực thi.

Có CLI nào cho Laravel không?

Artisan là tên của giao diện dòng lệnh có trong Laravel . Nó cung cấp một số lệnh hữu ích để bạn sử dụng trong khi phát triển ứng dụng của mình.

Làm cách nào để khởi động máy chủ Laravel trong cmd?

chuyển đến thư mục gốc nơi laravel được cài đặt bằng lệnh cd. Trong thư mục gốc, chạy lệnh php artisan trong terminal . Nó sẽ hoạt động tốt ngay bây giờ.

Chủ Đề