+2

[Laravel Certification] Giải thích toàn bộ Artisan Command (P2)

Tiếp bước phần một của loạt bài về giải thích chi tiết cách dùng artisan console phần 1, tôi có làm tiếp phần 2 để viết tiếp những command còn lại. Nếu anh nào chưa đọc phần 1 thì tôi để link bài viết ở đây : https://viblo.asia/p/artisan-console-giai-thich-toan-bo-artisan-command-p1-oK9VyM9bVQR. Tôi sẽ bắt đầu ngay đây !

13. php artisan test

Lệnh này để anh em chạy chức năng unit test trong dự án , về cơ bản thì khi chạy lệnh này Laravel sẽ tìm và chạy tất cả các tệp kiểm tra PHPUnit có tên theo mẫu *Test.php trong thư mục tests/ của ứng dụng Laravel. Ta có thể cấu hình Laravel để chỉ chạy một số tệp kiểm tra cụ thể hoặc chỉ chạy một số phương thức kiểm tra trong một tệp kiểm tra.

Laravel sử dụng PHPUnit để thực hiện các bài kiểm tra và cung cấp cho ta các phương thức và trình giám sát để viết và chạy các unit test. Các unit test có thể được sử dụng để kiểm tra các đầu vào và đầu ra của ứng dụng, đảm bảo rằng chúng hoạt động như mong đợi, và phát hiện lỗi trong mã. Các unit test cũng có thể được sử dụng để đảm bảo rằng các tính năng được thêm mới hoặc cập nhật không làm hỏng các tính năng đã tồn tại trong ứng dụng.

Laravel cung cấp các cấu hình mặc định cho chức năng test này, bao gồm việc thiết lập môi trường test, cơ sở dữ liệutest và ứng dụng test. Ta có thể tùy chỉnh cấu hình này để phù hợp với nhu cầu của mình.

Chức năng unit test yêu cầu phải có "phpunit/phpunit": "^8.0" hoặc phiên bản cao hơn trong danh sách require-dev, ae nhớ để ý cái này.

14. php artisan auth:clear-resets

Lệnh này được sử dụng để xóa tất cả các bản ghi khôi phục mật khẩu trong bảng password_resets. Bảng password_resets được sử dụng để lưu trữ thông tin khôi phục mật khẩu của người dùng.

Khi một người dùng yêu cầu khôi phục mật khẩu, Laravel sẽ tạo ra một bản ghi trong bảng password_resets với thông tin của người dùng và mã thông báo khôi phục mật khẩu. Khi người dùng đã hoàn tất quá trình khôi phục mật khẩu, bản ghi đó sẽ được xóa.

Tuy nhiên, trong một số trường hợp, có thể xảy ra tình trạng bảng password_resets chứa các bản ghi không còn hợp lệ hoặc quá cũ. Trong trường hợp đó, sử dụng lệnh php artisan auth:clear-resets để xóa tất cả các bản ghi khôi phục mật khẩu đã quá hạn và không còn hợp lệ.

15. php artisan về cache

  1. Lệnh php artisan cache:clear: sẽ xóa toàn bộ dữ liệu cache được lưu trữ trong bộ nhớ cache của ứng dụng, bao gồm các thông tin như bộ nhớ cache của trang web, các phiên truy cập và các dữ liệu cache khác. Sau khi thực thi lệnh này, các dữ liệu cache của ứng dụng sẽ bị xóa và ứng dụng sẽ tạo lại các thông tin cache khi cần thiết.

  2. Lệnh php artisan cache:forget: cho phép anh em xóa một mục cache cụ thể bằng cách sử dụng khóa cache của nó. Ví dụ, để xóa một mục cache với khóa là my_cache_key, anh em có thể sử dụng lệnh:

php artisan cache:forget my_cache_key

Khi thực hiện lệnh này, Laravel sẽ xóa mục cache có khóa là my_cache_key khỏi bộ nhớ cache của ứng dụng. Nếu mục cache không tồn tại trong bộ nhớ cache, lệnh php artisan cache:forget sẽ không có tác dụng.

  1. Lệnh php artisan cache:table: sử dụng để tạo bảng cache trong cơ sở dữ liệu của ứng dụng. Bảng này được đặt tên là cache và sử dụng để lưu trữ các mục cache trong cơ sở dữ liệu. Khi đó ứng dụng của anh em sẽ sử dụng bộ nhớ cache để lưu trữ dữ liệu tạm thời nhằm cải thiện hiệu suất và giảm thời gian truy vấn dữ liệu từ các nguồn khác nhau.

image.png

16. php artisan về config

  1. Lệnh php artisan config:cache: được sử dụng để tối ưu hóa tốc độ của ứng dụng bằng cách lưu trữ tất cả các tệp cấu hình của ứng dụng trong bộ nhớ cache. Khi ứng dụng được khởi động, Laravel sẽ sử dụng bộ nhớ cache để truy xuất các tệp cấu hình thay vì phải đọc từng tệp cấu hình một cách độc lập. Điều này giúp cải thiện hiệu suất và giảm thời gian tải trang của ứng dụng.

Sau khi chạy lệnh này, Laravel sẽ tạo một tệp config.php trong thư mục bootstrap/cache của ứng dụng. Tệp này chứa tất cả các tệp cấu hình của ứng dụng được lưu trữ dưới dạng một mảng đa chiều. Khi ứng dụng được khởi động, Laravel sẽ sử dụng bộ nhớ cache để truy xuất tất cả các tệp cấu hình của ứng dụng từ tệp config.php.

image.png

Lưu ý rằng khi sử dụng lệnh php artisan config:cache, anh em cần chạy lại lệnh này mỗi khi anh em thay đổi một tệp cấu hình. Nếu không, các thay đổi của anh em sẽ không được áp dụng vào ứng dụng.

  1. php artisan config:clear: Đơn giản là clear những config đã được cache lại ở phía trên 😄

17. php artisan về event

Laravel sử dụng cơ chế Event để xử lý các tác vụ trong ứng dụng. Để thao tác với các Event trong Laravel, chúng ta có thể sử dụng các lệnh sau đây trong Artisan:

  1. php artisan event:generate: Lệnh này được sử dụng để tạo các lớp Event. Nó sẽ tạo ra một lớp Event và một lớp Listener tương ứng cho một Event. Các lớp này được lưu trữ trong thư mục app/Eventsapp/Listeners.

  2. php artisan event:list: Lệnh này được sử dụng để liệt kê tất cả các Event và Listener đã đăng ký trong ứng dụng. Nó cũng hiển thị thông tin về số lượng các Listener được đăng ký cho mỗi Event.

  3. php artisan event:cache: Lệnh này được sử dụng để tối ưu hóa tốc độ của cơ chế Event bằng cách lưu trữ tất cả các Event và Listener đã đăng ký trong bộ nhớ cache. Khi ứng dụng được khởi động, Laravel sẽ sử dụng bộ nhớ cache để truy xuất các Event và Listener thay vì phải đọc từng tệp lớp một cách độc lập.

  4. php artisan event:clear: Lệnh này được sử dụng để xóa bộ nhớ cache của các Event và Listener đã đăng ký trong ứng dụng.

18. php artisan về make

Chủ yếu là tạo một class mới . Cũng không có gì đáng để giải thích , đơn giản là anh em thích tạo class nào thì anh em make class đấy . Ví dụ tôi muốn tạo một controller tên là ProductController thì tôi dùng câu lệnh php artisan make:controller ProductController. Chỉ thể thôi 😄

19. php artisan về route

Trong Laravel, lệnh php artisan route được sử dụng để xem danh sách các routes (dịch là tuyến đường thì ngu quá nên tôi để bản gốc tiếng anh ae nhé 😄) đã đăng ký trong ứng dụng của anh em. Sau đây là một số lệnh route phổ biến:

  1. php artisan route:list: liệt kê tất cả các routes đang được đăng ký trong ứng dụng và hiển thị thông tin chi tiết về chúng, bao gồm cả phương thức, URI, tên route và middleware.

  2. php artisan route:cache: tạo một bản sao lưu của tất cả các routes đang được đăng ký trong ứng dụng và lưu chúng vào bộ nhớ đệm để tăng tốc độ hoạt động.

  3. php artisan route:clear: xóa tất cả các routes được lưu trữ trong bộ nhớ đệm.

  4. php artisan route:cache: tạo một bản sao lưu của tất cả các routes đang được đăng ký trong ứng dụng và lưu chúng vào bộ nhớ đệm để tăng tốc độ hoạt động.

20. php artisan về sail

Nếu anh em nào đã từng biết hoặc sử dụng laradock thì chắc phần này đọc sẽ dễ hiểu hơn , thằng sail này là thằng mới có trong phiên bản laravel 8+ thôi.

Trong Laravel, lệnh php artisan sail được sử dụng để sử dụng Docker để triển khai ứng dụng Laravel trên máy tính của anh em. Sail là một bộ công cụ Docker được tích hợp sẵn trong Laravel để cung cấp một môi trường phát triển đáng tin cậy và dễ dàng để cài đặt và sử dụng. Anh em hay dùng docker phát triển thì nên cân nhắc dùng thằng sail này khá là hay, độ gọn nhẹ và linh hoạt thì ăn đứt thằng laradock nhưng đấy cũng là điểm yếu của sail vì hỗ trợ không nhiều tùy chọn cấu hình và phải phiên bản laravel 8+ trở lên mới dùng được thằng sail này . Dưới đây là một số lệnh của sail:

  1. php artisan sail up: khởi động các container Docker cho ứng dụng Laravel của anh em.

  2. php artisan sail down: dừng các container Docker cho ứng dụng Laravel của anh em.

  3. php artisansail build: xây dựng các container Docker mới cho ứng dụng Laravel của anh em.

  4. php artisansail artisan: chạy một lệnh Artisan trực tiếp từ container Laravel.

  5. php artisansail composer: chạy một lệnh Composer trực tiếp từ container Laravel.

  6. php artisansail npm: chạy một lệnh npm trực tiếp từ container Laravel.

21. php artisan về sanctum

Trong Laravel, Sanctum là một gói phần mềm để xác thực và xác thực API. Sau đây là một số lệnh Laravel Sanctum phổ biến sử dụng trong câu lệnh Artisan:

  1. php artisan sanctum:install: cài đặt Sanctum và tạo bảng cần thiết cho việc xác thực.

  2. php artisan sanctum:generate: tạo một API token mới cho một người dùng xác thực.

  3. php artisan sanctum:tokens: hiển thị danh sách các token được tạo ra cho một người dùng xác thực.

  4. php artisan sanctum:prune: xóa các token đã hết hạn khỏi cơ sở dữ liệu. .....

Anh em có thể tìm hiểu thêm về Sanctum và các lệnh khác của Laravel bằng cách truy cập trang chính thức của Laravel hoặc tài liệu hướng dẫn của Laravel.

21. php artisan về schedule

Trong Laravel, lệnh php artisan schedule được sử dụng để quản lý các tác vụ định kỳ được thiết lập trong ứng dụng Laravel của anh em. Laravel cung cấp một cú pháp đơn giản để định nghĩa các tác vụ định kỳ và lệnh schedule giúp anh em quản lý các tác vụ này. Sau đây là một số lệnh schedule phổ biến:

  1. php artisan schedule:list: hiển thị danh sách các tác vụ định kỳ được đăng ký trong ứng dụng Laravel của anh em.

  2. php artisan schedule:run: chạy các tác vụ định kỳ được lên lịch trong ứng dụng Laravel của anh em.

  3. php artisan schedule:test: kiểm tra xem các tác vụ định kỳ được đăng ký có hoạt động như mong đợi hay không.

  4. php artisan schedule:clear-cache: xóa bộ nhớ đệm của tác vụ định kỳ.

  5. php artisan schedule:work: chạy các tác vụ định kỳ trong ứng dụng Laravel của anh em.

22. php artisan schema:dump

Đây là một command trong Laravel Framework, được sử dụng để tạo ra một tệp định dạng SQL có chứa thông tin về cấu trúc của cơ sở dữ liệu của ứng dụng Laravel.

Khi command này được chạy, Laravel sẽ truy vấn cơ sở dữ liệu của anh em để lấy thông tin về các bảng, các trường, các khóa chính và các mối quan hệ của chúng, sau đó anh em ra một tệp SQL chứa các lệnh để tái tạo cấu trúc cơ sở dữ liệu đó. Tệp SQL này có thể được sử dụng để sao lưu cấu trúc của cơ sở dữ liệu, hoặc để chuyển đổi cấu trúc cơ sở dữ liệu từ một môi trường sang một môi trường khác, chẳng hạn như từ môi trường dev sang môi trường product.

Khi chạy lệnh này xong Laravel sẽ tự động tạo ra một thư mục schema bên trong project/database . Ví dụ dưới đây là sau khi tôi chạy xong.

image.png

23. php artisan storage:link

php artisan storage:link là một command trong Laravel Framework, được sử dụng để tạo liên kết tượng trưng cho thư mục lưu trữ được sử dụng bởi ứng dụng Laravel với thư mục public, cho phép truy cập trực tiếp vào các tệp lưu trữ từ trình duyệt.

Khi command này được chạy, Laravel sẽ tạo một liên kết tương đối từ thư mục public đến thư mục storage/app/public. Việc này cho phép các tệp lưu trữ được lưu trữ trong thư mục storage/app/public được truy cập trực tiếp từ trình duyệt bằng URL công khai.

Sau khi chạy command php artisan storage:link, anh em có thể sử dụng URL http://your-app.com/storage để truy cập vào thư mục storage/app/public. Ví dụ, nếu anh em có một tệp lưu trữ tên example.jpg trong thư mục storage/app/public/images, anh em có thể truy cập vào tệp đó bằng URL http://your-app.com/storage/images/example.jpg.

Command php artisan storage:link thường được sử dụng khi anh em muốn public các tệp lưu trữ với người dùng của mình, chẳng hạn như các hình ảnh, tệp PDF, hoặc các tệp tải lên khác.

24. php artisan stub:publish

Trong Laravel, các tệp stub (mẫu) được sử dụng để tạo ra các file mới thông qua các command-line generator như make:controller, make:model, make:migration, make:factory và nhiều command-line generator khác.

Mỗi command-line generator sẽ sử dụng một tệp stub tương ứng để tạo ra một file mới dựa trên mẫu của tệp đó. Tệp stub chứa mã HTML, CSS, JavaScript, PHP hoặc các đoạn mã khác được sử dụng để tạo ra các file mới theo một định dạng cụ thể.

Mặc định, Laravel đi kèm với một số tệp stub cho các command-line generator. Tuy nhiên, anh em có thể tạo các tệp stub tùy chỉnh của riêng mình và sử dụng chúng trong các command-line generator của anh em. Điều này cho phép anh em tùy chỉnh các file được tạo ra thông qua các generator để phù hợp với yêu cầu cụ thể của dự án của anh em.

Các tệp stub trong Laravel thường được đặt trong thư mục stubs trong thư mục gốc của ứng dụng Laravel. Anh em có thể chỉnh sửa các tệp stub tùy chỉnh của mình trong thư mục này, sau đó sử dụng chúng trong các command-line generator của anh em.


All rights reserved

Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí