Laravel Pint là gì?

Laravel Pint là một công cụ sửa đổi mã nguồn của bạn để mã nguồn của bạn tuân thủ theo các tiêu chuẩn.

Nói một cách khác, Laravel Pint sẽ quét toàn bộ mã nguồn của bạn, phát hiện các vấn đề về tiêu chuẩn mã hóa và sửa đổi chúng cho bạn trong vài giây, điều này thật tuyệt vời phải không nào!

Bây giờ, chúng ta hãy xem cách mà Laravel Pint hành động⚡⚡⚡⚡⚡⚡

/**
 * Show the form for creating a new resource.
 *
 * @return \Illuminate\Http\Response
 */
public function create()
{
    return [
        "title" =>         'ManhDanBlogs',
        'author' => 'Huynh Manh Dan (Beater)',
    ];

}

Đây là một mã nguồn, bạn sẽ không muốn chúng xuất hiện trong dự án của mình, nhưng đôi khi điều lại luôn xảy.

Một số điều cần thay đổi trong mã nguồn trên như sau:
- Dấu ngoặc kép
- Khoảng trống bị thừa

Hãy xem Laravel Pint khắc phục điều đó cho chúng ta như thế nào nha.

/**
 * Show the form for creating a new resource.
 *
 * @return \Illuminate\Http\Response
 */
public function create()
{
    return [
        'title' => 'ManhDanBlogs',
        'author' => 'Huynh Manh Dan (Beater)',
    ];
}

Ngoài ra,  Laravel Pint cũng cho bạn biết được các điều sau:

- Có bao nhiêu file được quét

- File nào được thay đổi

- Lỗi được sửa

Cài đặt Laravel Pint

Chúng ta cài đặt Laravel Pint thông qua lệnh composer sau:

composer require laravel/pint --dev

☛Lưu ý:
- Phiên bản Laravel mình sử dụng trong bài viết này là Laravel 10

- Đây là một package đã được cài đặt sẵn trong Laravel 9 và Laravel 10

Sử dụng Laravel Pint: Running Pint

Nếu bạn muốn quét toàn bộ và sửa đổi tất cả file, bạn hãy sử dụng lệnh sau:

./vendor/bin/pint

Để xem thêm chi tiết về Laravel Pint đang thay đổi những gì, bạn hãy sử dụng lệnh sau:

./vendor/bin/pint -v

Bạn cũng có thể chạy Laravel Pint trên file hoặc folder cụ thể:

./vendor/bin/pint app/Models

./vendor/bin/pint app/Models/User.php

Nếu bạn chỉ muốn hiển thị lỗi nhưng không sửa đổi file, bạn chạy lênh sau:

./vendor/bin/pint --test

Cấu hình Laravel Pint

Laravel Pint không cần cấu hình để sử dụng, bạn có thể cài đặt và sử dụng trực tiếp mà không cần nghĩ đến việc cấu hình.
Tuy nhiên, nếu bạn vẫn muốn tùy chỉnh quy tắc hay chỉ loại trừ các files/folders trong quá trình kiểm tra, bạn có thể làm điều đó bằng cách tạo ra file pint.json nằm ở thư mục gốc của dự án.

Presets

Mặc định Laravel Pint sẽ sử dụng "laravel", nhưng bạn vẫn có thể thay đổi điều này bằng cách sử đổi pint.json như sau:

{
    "preset": "psr12"
}

Ngoài ra bạn vẫn có thể thay đổi điều này khi chạy lệnh:

./vendor/bin/pint --preset psr12

Hiện tại Laravel Pint đang hỗ trợ các presets sau: laravel, psr12 và symfony.

Loại trừ Files / Folders

Mặc định Laravel Pint sẽ quét toàn bộ mã nguồn, nhưng có những thư mục bạn muốn loại bỏ chúng khi Laravel Pint thực hiện, bạn sử dụng exclude như sau:

{
    "exclude": [
        "path/to/your-folder"
    ]
}

Nếu bạn muốn loại trừ các file chứa một kí tự nào đó, bạn hãy sử dụng notName như sau:

{
    "notName": [
        "*-your-cool-file.php"
    ]
}

Còn trường hợp bạn biết chính xác tên, hãy sử dụng notPath như sau:

{
    "notPath": [
        "path/to/your-file.php"
    ]
}

Rules

nếu bạn muốn điều chỉnh một số quy tắc, bạn có thể thực hiện điều đó bằng cách chỉnh sửa pint.json như sau:

{
    "preset": "laravel",
    "rules": {
        "simplified_null_return": true,
        "braces": false,
        "new_with_braces": {
            "anonymous_class": false,
            "named_class": false
        }
    }
}

Tóm lại, Laravel Pint là một công cụ quan trọng giúp cải thiện thiện quá trình phát triển ứng dụng Laravel của bạn.
Từ đó, giúp chúng ta có thể giảm thiểu sai sót và tiết kiệm thời gian cho công việc viết mã nguồn, giúp chúng ta tập trung hơn vào việc xây dựng tính năng quan trọng cho dự án của mình.

Tài liệu tham khảo:

https://laravel.com/docs/10.x/pint

CÓ THỂ BẠN QUAN TÂM

Laravel Socialite Login With Google

Laravel Socialite Login With Google

Google Google là một công cụ tìm kiếm trên internet. Nó sử dụng một thuật toán độc quyền được thiết kế để truy xuất và sắp xếp các kết quả tìm kiếm nhằm cung cấp các nguồn dữ liệu đáng tin cậy và ph...

Integrating elFinder into TinyMCE 6 in Laravel

Integrating elFinder into TinyMCE 6 in Laravel

TinyMCE TinyMCE là một trình soạn thảo WYSIWYG được xây dựng trên nền tảng Javascript, được phát triển dưới dạng mã nguồn mở theo giấy phép MIT bởi Tiny Technologies Inc. TinyMCE cho phép người d...

Laravel View

Laravel View

View là gì? Đây là phần giao diện (theme) dành cho người sử dụng. Nơi mà người dùng có thể lấy được thông tin dữ liệu của MVC thông qua các thao tác truy vấn như tìm kiếm hoặc sử dụng thông qua các...

Laravel Artisan Console

Laravel Artisan Console

Ngoài các lệnh command mặc định của Laravel được cung cấp bởi Artisan, có rất nhiều tác vụ trong ứng dụng Laravel của bạn có thể được xử lý rất tốt bằng các lệnh command này. Nhưng đôi khi có nhiều tá...

Integrating elFinder Into CKEditor 5 In Laravel

Integrating elFinder Into CKEditor 5 In Laravel

CKEditor 5 CKEditor 5 là một trình soạn thảo văn bản phong phú JavaScript với nhiều tính năng và khả năng tùy chỉnh. CKEditor 5 có kiến trúc MVC hiện đại, mô hình dữ liệu tùy chỉnh và DOM ảo, mang...

Amazon S3 Pre-Signed URL with DropzoneJs in Laravel

Amazon S3 Pre-Signed URL with DropzoneJs in Laravel

Chức năng upload file hay hình ảnh là một chức năng rất phổ biến, hầu hết các dự án đều có chức năng này. Đa số các nhà phát triển khi thực hiện chức năng upload file, thường sẽ sử dụng cách làm nh...

Integrating AI Assistant with CKEditor 5 in Laravel using Vite

Integrating AI Assistant with CKEditor 5 in Laravel using Vite

OpenAI OpenAI là một công ty nghiên cứu và triển khai trí tuệ nhân tạo, nổi tiếng với việc phát triển các mô hình AI tiên tiến. Mục tiêu của OpenAI là đảm bảo rằng trí tuệ nhân tạo tổng quát (AGI...

Laravel Migration

Laravel Migration

Migration cho phép các nhà phát triển (Developer) nhanh chóng tạo ra cở sở dữ liệu của ứng dụng mà không cần vào màn hình quản lý cơ sở dữ liệu hay chạy bất kì một câu lệnh SQL nào. Trước hết, nếu...

Method WhereAny / WhereAll  in Laravel Eloquent

Method WhereAny / WhereAll in Laravel Eloquent

New Laravel 10: Eloquent WhereAny() và WhereAll() Laravel cung cấp cho chúng ta khả năng xây dựng các truy vấn dữ liệu mạnh mẽ với Eloquent ORM, giúp chúng ta có thể xử lý các truy vấn cơ sở dữ li...

ManhDanBlogs