- vừa được xem lúc

Laravel artisan, dùng thường xuyên nhưng không biết nó là gì ?

0 0 298

Người đăng: Nguyễn Văn Thịnh

Theo Viblo Asia

Nếu bạn đã làm việc với framework Laravel thì chắc hẳn bạn có sử dụng đến Artisan rồi, Ở bài này chúng ta sẽ tìm hiểu rõ hơn về artisan và các ứng dụng của nó.

Laravel Artisan là gì ?

Laravel artisan là một công cụ dòng lệnh được tích hợp sãn trong các project laravel được xây dựng dựa trên component Symfony Console, nó cung cấp rất nhiều các chức năng hữu ích như xử lý các công việc thủ công bằng việc tự động hóa chúng giúp việc xây dự án dễ dàng hơn, giảm thời gian viết code.

Các công dụng cơ bản của laravel artisan gồm:

  • Thao tác với cơ sở dữ liệu: tạo model, migrate, thêm dữ liệu vào db ...
  • Thao tác với queue, schedule
  • Thao tác tạo route, controller, event ...
  • Tạo key mã hóa, tạo Auth, tạo command...
  • Chạy các công cụ ngoài như Tinker, hoặc cho phép người dùng tạo ra các công cụ tùy thích.
  • ...

Sử dụng câu lệnh php artisan list để xem danh sách các câu lệnh hỗ trợ bởi Artisan:

Mỗi câu lệnh đều có kèm theo một màn hình trợ giúp để hiển thị và mô tả những đối số và tuỳ chọn có thể sử dụng. Để xem màn hình trợ giúp chỉ cần gõ tên câu lệnh kèm theo từ khoá help:

php artisan help migrate

Một số câu lệnh cơ bản

Tạo file migration php artisan make:migration

Chạy các file migration để tạo databasse php artisan migration

Tạo model php artisan make:model

Generate key mã hóa php artisan key:generate

Tạo request để validate dữ liệu php artisan make:request ...

Trên đây là 1 số lệnh cơ bản, toàn bộ lệnh artisan bạn có thể xem bằng lệnh php artisan list

Tạo câu lệnh Artisan

Để tạo lệnh mới, chúng ta sẽ dùng lệnh make:command của Artisan, nó sẽ tạo ra một class có các khung mã nguồn cơ bản cho câu lệnh này và lưu trong app/Console/Commands

php artisan make:command RemindToChatwork

Câu lệnh trên sẽ tạo một class tại app/Console/Commands/RemindToChatwork.php. Khi tạo một câu lệnh, tuỳ chọn --command có thể được gán giá trị trên màn hình terminal:

php artisan make:command RemindToChatwork --command=remind:send

Chạy lệnh php artisan list sẽ thấy command này.

Cấu trúc câu lệnh

Khi mà câu lệnh được tạo ra, cần điền vào thông tin của hai thuộc tính signature và description trong class, vì chúng sẽ được dùng để hiển thị khi chạy câu lệnh php artisan list

Ta có thể truyền bất cứ dependencies nào mà chúng ta cần vào trong hàm khởi tạo của câu lệnh. Laravel service container sẽ tự động truyền tất cả các dependencies được đánh dấu trong hàm khởi tạo.

<?php namespace App\Console\Commands; use Illuminate\Console\Command; class RemindToChatwork extends Command
{ /** * The name and signature of the console command. * * @var string */ protected $signature = 'remind:send'; /** * The console command description. * * @var string */ protected $description = 'Command description'; /** * Create a new command instance. * * @return void */ public function __construct() { parent::__construct(); } /** * Execute the console command. * * @return int */ public function handle() { return 0; }
}

Function handle sẽ được gọi khi mà câu lệnh được thực thi. Có thể viết logic tuỳ ý trong phương thức này.

Sửa code trong function handle thử chạy command này bằng lệnh php artisan remind:send xem có thực thi doe trong handle hay không.

Vậy là đã thực thi code rồi.

Định nghĩa các tham số và tùy chọn cho câu lệnh Artisan

Artisan định nghĩa các tham số trong thuộc tính $signature. Thuộc tính này dùng để định nghĩa tên câu lệnh, tham số và các tùy chọn. Các tham số được định nghĩa trong cặp dấu ngoặc nhọn {parameter}. Có thể định nghĩa tham số mặc định.

Sau đó khi run command ta có thể truyền tham số vào,

ví dụ : php artisan remind:send Thinh 10

Trong function handle ta nhận tham số và các tùy chọn như sau

public function handle()
{ // Lấy tham số dạng người dùng $userType = $this->argument('userName'); // Lấy tất cả các tham số $arguments = $this->arguments(); // Lấy tùy chọn $isQueue = $this->option('optionName'); // Lấy tất cả các tùy chọn $options = $this->options();
}

Kết bài

Qua bài này ta biết những điều cơ bản về laravel artisan và biết được nó là một công cụ rất hữu ích. Cảm ơn và hẹn mọi người ở bài tiếp theo.

Bình luận

Bài viết tương tự

- vừa được xem lúc

Tìm hiểu về Resource Controller trong Laravel

Giới thiệu. Trong laravel, việc sử dụng các route post, get, group để gọi đến 1 action của Controller đã là quá quen đối với các bạn sử dụng framework này.

0 0 335

- vừa được xem lúc

Phân quyền đơn giản với package Laravel permission

Như các bạn đã biết, phân quyền trong một ứng dụng là một phần không thể thiếu trong việc phát triển phần mềm, dù đó là ứng dụng web hay là mobile. Vậy nên, hôm nay mình sẽ giới thiệu một package có thể giúp các bạn phân quyền nhanh và đơn giản trong một website được viết bằng PHP với framework là L

0 0 421

- vừa được xem lúc

Sử dụng Swagger để xây dựng API documentation

Giới thiệu về Swagger. RESTful API là một tiêu chuẩn dùng trong việc thiết kế API cho các ứng dụng web (thiết kế Web services) để tiện cho việc quản lý các resource.

0 0 1k

- vừa được xem lúc

Ví dụ CRUD với Laravel và Vuejs.

1. Cài đặt Laravel. composer create-project --prefer-dist laravel/laravel vuelaravelcrud. .

0 0 141

- vừa được xem lúc

Một số tips khi dùng laravel (Part 1)

1. Show database query in raw SQL format. DB::enableQueryLog(); // Bật tính năng query logging. DB::table('users')->get(); // Chạy truy vấn bạn muốn ghi log.

0 0 69

- vừa được xem lúc

Inertiajs - Xây dựng Single Page App không cần API

Tiêu đề là mình lấy từ trang chủ của https://inertiajs.com/ chứ không phải mình tự nghĩ ra đâu nhé :v. Lâu lâu rồi chưa động tới Laravel (dự án cuối cùng mình code là ở ver 5.8), thế nên một ngày đẹp trời lượn vào đọc docs ver 8.

0 0 227