Notice: Function _load_textdomain_just_in_time was called incorrectly. Translation loading for the wordpress-seo domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the init action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /var/www/vinascript/html/wp-includes/functions.php on line 6114
Tạo Artisan Command trong Laravel - VinaScript

Latest Post

Triển khai dự án PHP, Mysql với Nginx trên Docker Tìm hiểu về HTML – Ưu điểm, nhược điểm và cách hoạt động của HTML

Artisan Command trong Laravel là một trong những cấu trúc quan trọng giúp xây dựng thương hiệu mạnh mẽ của mã nguồn mở Laravel. Artisan Command cung cấp một loạt các công cụ hữu ích cho các nhà phát triển, giúp họ xây dựng mã nguồn dễ dàng, thao tác với cơ sở dữ liệu bằng các chức năng như migrate, seed, kiểm tra thông tin về ứng dụng Laravel, và nhiều chức năng khác. Với sự hỗ trợ của Artisan Command, chúng ta sẽ khám phá thêm về tính năng mạnh mẽ này của Laravel tại Blog.

Laravel Artisan Comand là gì?

Artisan là một phần mềm dòng lệnh có sẵn kèm theo Laravel, một framework phát triển ứng dụng web. Artisan thường nằm trong thư mục gốc của ứng dụng Laravel và chứa một loạt các lệnh dòng lệnh hữu ích. Các lệnh Artisan giúp bạn tạo, quản lý và triển khai ứng dụng của mình một cách thuận tiện và hiệu quả.

Danh sách các lệnh Artisan Command

Một số command hữu ích mà bạn nên nhớ.

Liêt kê danh sách các command:

php artisan list

Kiểm tra version của Laravel

php artisan --version

Xem hướng dẫn của 1 tham số

php artisan help migrate

Khởi tạo server cho Laravel

php artisan serve

Danh sách 21 command của Artisan Command

make:channel Create a new channel class
make:command Create a new Artisan command
make:controller Create a new controller class
make:event Create a new event class
make:exception Create a new custom exception class
make:factory Create a new model factory
make:job Create a new job class
make:listener Create a new event listener class
make:mail Create a new email class
make:middleware Create a new middleware class
make:migration Create a new migration file
make:model Create a new Eloquent model class
make:notification Create a new notification class
make:observer Create a new observer class
make:policy Create a new policy class
make:provider Create a new service provider class
make:request Create a new form request class
make:resource Create a new resource
make:rule Create a new validation rule
make:seeder Create a new seeder class
make:test Create a new test class

Tạo Laravel Artisan Command

Chúng ta sử dụng lệnh artisan để tạo một command

php artisan make:command UploadFile

Trong ví dụ trên mình tạo 1 command với mục đích để upload file. Sau khi chạy lệnh nó sẽ tạo ra 1 file có tên là UploadFile.php ở thư mục app/Console/Commands/

Với nội dung mặc định như sau:

<?php

namespace AppConsoleCommands;

use IlluminateConsoleCommand;

class UploadFile extends Command
{
    /**
     * The name and signature of the console command.
     *
     * @var string
     */
    protected $signature = 'command:name';

    /**
     * The console command description.
     *
     * @var string
     */
    protected $description = 'Command description';

    /**
     * Execute the console command.
     *
     * @return int
     */
    public function handle()
    {
        return 0;
    }
}

Bây giờ chúng ta sẽ sửa lại để nó có thể chạy được như chúng ta mong muốn như sau:

<?php

namespace AppConsoleCommands;

use IlluminateConsoleCommand;

class UploadFile extends Command
{
    /**
     * The name and signature of the console command.
     *
     * @var string
     */
    protected $signature = 'upload_file';

    /**
     * The console command description.
     *
     * @var string
     */
    protected $description = 'Example Upload file to server';

    /**
     * Execute the console command.
     *
     */
    public function handle()
    {
        print ("Start upload file to server vinasupport.com");
        // Upload Process here
    }
}

Giải thích ý nghĩa class UploadFile chúng ta có:

– Thuộc tính $signature là tên hoặc là ký hiệu của command.

protected $signature = 'upload_file';

– Thuộc tính $description là phần miêu tả ý nghĩa của command

protected $description = 'Example Upload file to server';

– Phương thức handle là hàm xử lý nội dùng cần thực hiện.

public function handle()
{
    print ("Start upload file to server vinasupport.com");
    // Upload Process here
}

Cuối cùng để chạy command trên chúng ta chạy thông qua artisan như sau:

php artisan upload_file

Kết quả:

Các tham số của Artisan Command

Để truyền các tham số vào Artisan Command chúng ta có các loại sau:

Option bắt buộc

protected $signature = 'order:check {param}';

Option tuỳ chọn

protected $signature = 'order:check {param?}';

Option với dữ liệu mặc định

protected $signature = 'order:check {param=foo}';

Để lấy giá trị Option truyền vào thì trong phương thức handle() chúng ta gọi ra:

$param = $this->option('param');

Để lấy all giá trị Options

$options = $this->options();

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *