Laravel Pint là một công cụ sửa lỗi kiểu mã PHP dành cho những người theo chủ nghĩa tối giản. Pint được xây dựng dựa trên PHP-CS-Fixer và làm cho nó đơn giản để đảm bảo rằng kiểu mã của bạn luôn rõ ràng và nhất quán
Pint được cài đặt tự động với tất cả các ứng dụng Laravel mới, do đó bạn có thể bắt đầu sử dụng nó ngay lập tức. Theo mặc định, Pint không yêu cầu bất kỳ cấu hình nào và sẽ khắc phục các sự cố về kiểu mã trong mã của bạn bằng cách tuân theo kiểu mã cố định của Laravel
Cài đặt
Pint được bao gồm trong các bản phát hành gần đây của Laravel framework, vì vậy việc cài đặt thường không cần thiết. Tuy nhiên, đối với các ứng dụng cũ hơn, bạn có thể cài đặt Laravel Pint qua Composer
composer require laravel/pint --dev
pint chạy
Bạn có thể hướng dẫn Pint khắc phục các sự cố về kiểu mã bằng cách gọi mã nhị phân pint có sẵn trong thư mục vendor/bin của dự án của bạn
Bạn cũng có thể chạy Pint trên các tệp hoặc thư mục cụ thể
./vendor/bin/pint app/Models
./vendor/bin/pint app/Models/User.php
Pint sẽ hiển thị một danh sách đầy đủ tất cả các tệp mà nó cập nhật. Bạn có thể xem chi tiết hơn nữa về các thay đổi của Pint bằng cách cung cấp tùy chọn -v khi gọi Pint
Nếu bạn muốn Pint chỉ kiểm tra mã của bạn để tìm lỗi kiểu dáng mà không thực sự thay đổi tệp, bạn có thể sử dụng tùy chọn --test
Nếu bạn muốn Pint chỉ sửa đổi các tệp có thay đổi chưa được cam kết theo Git, bạn có thể sử dụng tùy chọn --dirty
Định cấu hình Pint
Như đã đề cập trước đây, Pint không yêu cầu bất kỳ cấu hình nào. Tuy nhiên, nếu bạn muốn tùy chỉnh các cài đặt trước, quy tắc hoặc thư mục đã kiểm tra, bạn có thể làm như vậy bằng cách tạo tệp
./vendor/bin/pint app/Models
./vendor/bin/pint app/Models/User.php
0 trong thư mục gốc của dự án của bạnNgoài ra, nếu bạn muốn sử dụng
./vendor/bin/pint app/Models
./vendor/bin/pint app/Models/User.php
0 từ một thư mục cụ thể, bạn có thể cung cấp tùy chọn./vendor/bin/pint app/Models
./vendor/bin/pint app/Models/User.php
2 khi gọi Pintpint --config vendor/my-company/coding-style/pint.json
cài đặt trước
Các cài đặt trước xác định một bộ quy tắc có thể được sử dụng để khắc phục các sự cố về kiểu mã trong mã của bạn. Theo mặc định, Pint sử dụng giá trị đặt trước
./vendor/bin/pint app/Models
./vendor/bin/pint app/Models/User.php
3, khắc phục sự cố bằng cách tuân theo phong cách viết mã cố chấp của Laravel. Tuy nhiên, bạn có thể chỉ định một giá trị đặt trước khác bằng cách cung cấp tùy chọn./vendor/bin/pint app/Models
./vendor/bin/pint app/Models/User.php
4 cho PintNếu muốn, bạn cũng có thể đặt giá trị đặt trước trong tệp
./vendor/bin/pint app/Models
./vendor/bin/pint app/Models/User.php
0 của dự ánCác cài đặt trước được hỗ trợ hiện tại của Pint là.
./vendor/bin/pint app/Models
./vendor/bin/pint app/Models/User.php
3,./vendor/bin/pint app/Models
./vendor/bin/pint app/Models/User.php
7 và./vendor/bin/pint app/Models
./vendor/bin/pint app/Models/User.php
8Quy tắc
Quy tắc là các nguyên tắc về kiểu mà Pint sẽ sử dụng để khắc phục các sự cố về kiểu mã trong mã của bạn. Như đã đề cập ở trên, các cài đặt trước là các nhóm quy tắc được xác định trước hoàn hảo cho hầu hết các dự án PHP, vì vậy bạn thường không cần phải lo lắng về các quy tắc riêng lẻ mà chúng chứa
Tuy nhiên, nếu muốn, bạn có thể bật hoặc tắt các quy tắc cụ thể trong tệp
./vendor/bin/pint app/Models
./vendor/bin/pint app/Models/User.php
0 của mình"simplified_null_return": true,
Pint được xây dựng dựa trên PHP-CS-Fixer. Do đó, bạn có thể sử dụng bất kỳ quy tắc nào của nó để khắc phục các sự cố về kiểu mã trong dự án của mình. Trình cấu hình PHP-CS-Fixer
Loại trừ tệp/thư mục
Theo mặc định, Pint sẽ kiểm tra tất cả các tệp
pint --config vendor/my-company/coding-style/pint.json
0 trong dự án của bạn ngoại trừ những tệp trong thư mụcpint --config vendor/my-company/coding-style/pint.json
1. Nếu bạn muốn loại trừ nhiều thư mục hơn, bạn có thể sử dụng tùy chọn cấu hìnhpint --config vendor/my-company/coding-style/pint.json
2Nếu bạn muốn loại trừ tất cả các tệp chứa mẫu tên nhất định, bạn có thể làm như vậy bằng cách sử dụng tùy chọn cấu hình
pint --config vendor/my-company/coding-style/pint.json
3Nếu bạn muốn loại trừ một tệp bằng cách cung cấp đường dẫn chính xác đến tệp, bạn có thể làm như vậy bằng cách sử dụng tùy chọn cấu hình
pint --config vendor/my-company/coding-style/pint.json
4Mặc dù Laravel không chỉ định bạn sử dụng bộ tiền xử lý JavaScript hoặc CSS nào, nhưng nó cung cấp điểm khởi đầu cơ bản bằng cách sử dụng Bootstrap, React và/hoặc Vue sẽ hữu ích cho nhiều ứng dụng. Theo mặc định, Laravel sử dụng NPM để cài đặt cả hai gói giao diện người dùng này
Giàn giáo Bootstrap và Vue do Laravel cung cấp nằm trong gói Trình soạn thảo laravel/ui, có thể được cài đặt bằng Trình soạn thảo
composer require laravel/ui:^2.4
Khi gói laravel/ui đã được cài đặt, bạn có thể cài đặt giàn giáo giao diện người dùng bằng cách sử dụng lệnh Artisan ui
// Generate basic scaffolding...
// Generate login / registration scaffolding...
php artisan ui bootstrap --auth
Laravel Mix cung cấp một API rõ ràng, biểu cảm qua việc biên dịch SASS hoặc Ít hơn, là các phần mở rộng của CSS đơn giản có thêm các biến, mixin và các tính năng mạnh mẽ khác giúp làm việc với CSS thú vị hơn nhiều. Trong tài liệu này, chúng ta sẽ thảo luận ngắn gọn về việc biên dịch CSS nói chung;
Laravel không yêu cầu bạn sử dụng một framework hoặc thư viện JavaScript cụ thể để xây dựng các ứng dụng của bạn. Trên thực tế, bạn hoàn toàn không phải sử dụng JavaScript. Tuy nhiên, Laravel có bao gồm một số giàn giáo cơ bản để giúp bạn bắt đầu viết JavaScript hiện đại dễ dàng hơn bằng thư viện Vue. Vue cung cấp API biểu cảm để xây dựng các ứng dụng JavaScript mạnh mẽ bằng cách sử dụng các thành phần. Cũng như CSS, chúng ta có thể sử dụng Laravel Mix để dễ dàng biên dịch các thành phần JavaScript thành một tệp JavaScript duy nhất, sẵn sàng cho trình duyệt
Viết CSS
Sau khi cài đặt gói laravel/ui Composer và , tệp
// Generate basic scaffolding...
// Generate login / registration scaffolding...
php artisan ui bootstrap --auth
0 của Laravel sẽ bao gồm gói// Generate basic scaffolding...
// Generate login / registration scaffolding...
php artisan ui bootstrap --auth
1 để giúp bạn bắt đầu tạo nguyên mẫu giao diện người dùng của ứng dụng bằng Bootstrap. Tuy nhiên, vui lòng thêm hoặc xóa các gói khỏi tệp// Generate basic scaffolding...
// Generate login / registration scaffolding...
php artisan ui bootstrap --auth
0 nếu cần cho ứng dụng của riêng bạn. Bạn không bắt buộc phải sử dụng khung Bootstrap để xây dựng ứng dụng Laravel của mình - nó được cung cấp như một điểm khởi đầu tốt cho những ai chọn sử dụng nóTrước khi biên dịch CSS của bạn, hãy cài đặt các phần phụ thuộc giao diện người dùng của dự án bằng trình quản lý gói Node (NPM)
Khi các phần phụ thuộc đã được cài đặt bằng cách sử dụng
// Generate basic scaffolding...
// Generate login / registration scaffolding...
php artisan ui bootstrap --auth
3, bạn có thể biên dịch các tệp SASS của mình thành CSS đơn giản bằng cách sử dụng. Lệnh// Generate basic scaffolding...
// Generate login / registration scaffolding...
php artisan ui bootstrap --auth
4 sẽ xử lý hướng dẫn trong tệp// Generate basic scaffolding...
// Generate login / registration scaffolding...
php artisan ui bootstrap --auth
5 của bạn. Thông thường, CSS đã biên dịch của bạn sẽ được đặt trong thư mục// Generate basic scaffolding...
// Generate login / registration scaffolding...
php artisan ui bootstrap --auth
6Tệp
// Generate basic scaffolding...
// Generate login / registration scaffolding...
php artisan ui bootstrap --auth
5 đi kèm với giàn giáo giao diện người dùng của Laravel sẽ biên dịch tệp// Generate basic scaffolding...
// Generate login / registration scaffolding...
php artisan ui bootstrap --auth
8 SASS. Tệp// Generate basic scaffolding...
// Generate login / registration scaffolding...
php artisan ui bootstrap --auth
9 này nhập một tệp gồm các biến SASS và tải Bootstrap, đây là điểm khởi đầu tốt cho hầu hết các ứng dụng. Vui lòng tùy chỉnh tệp// Generate basic scaffolding...
// Generate login / registration scaffolding...
php artisan ui bootstrap --auth
9 theo cách bạn muốn hoặc thậm chí sử dụng một bộ tiền xử lý hoàn toàn khác bằng cách định cấu hình Laravel MixViết JavaScript
Tất cả các phụ thuộc JavaScript mà ứng dụng của bạn yêu cầu có thể được tìm thấy trong tệp
// Generate basic scaffolding...
// Generate login / registration scaffolding...
php artisan ui bootstrap --auth
0 trong thư mục gốc của dự án. Tệp này tương tự như tệprequire('./components/ExampleComponent.vue').default
2 ngoại trừ nó chỉ định phần phụ thuộc JavaScript thay vì phần phụ thuộc PHP. Bạn có thể cài đặt các phụ thuộc này bằng trình quản lý gói Node (NPM){tip} Theo mặc định, tệp Laravel
// Generate basic scaffolding...
// Generate login / registration scaffolding...
php artisan ui bootstrap --auth
0 bao gồm một số gói nhưrequire('./components/ExampleComponent.vue').default
4 vàrequire('./components/ExampleComponent.vue').default
5 để giúp bạn bắt đầu xây dựng ứng dụng JavaScript của mình. Vui lòng thêm hoặc xóa khỏi tệp// Generate basic scaffolding...
// Generate login / registration scaffolding...
php artisan ui bootstrap --auth
0 nếu cần cho ứng dụng của riêng bạn
Sau khi các gói được cài đặt, bạn có thể sử dụng lệnh
// Generate basic scaffolding...
// Generate login / registration scaffolding...
php artisan ui bootstrap --auth
4 để biên dịch nội dung của mình. Webpack là gói mô-đun cho các ứng dụng JavaScript hiện đại. Khi bạn chạy lệnh// Generate basic scaffolding...
// Generate login / registration scaffolding...
php artisan ui bootstrap --auth
4, Webpack sẽ thực hiện các hướng dẫn trong tệp// Generate basic scaffolding...
// Generate login / registration scaffolding...
php artisan ui bootstrap --auth
5 của bạnTheo mặc định, tệp Laravel
// Generate basic scaffolding...
// Generate login / registration scaffolding...
php artisan ui bootstrap --auth
5 sẽ biên dịch SASS của bạn và tệp1. Trong tệp
2, bạn có thể đăng ký các thành phần Vue của mình hoặc, nếu bạn thích một khung khác, hãy định cấu hình ứng dụng JavaScript của riêng bạn. JavaScript đã biên dịch của bạn thường sẽ được đặt trong thư mục
3
{tip} Tệp
2 sẽ tải tệp
5 để khởi động và định cấu hình Vue, Axios, jQuery và tất cả các phụ thuộc JavaScript khác. Nếu bạn có các phụ thuộc JavaScript bổ sung để định cấu hình, bạn có thể làm như vậy trong tệp này
Viết các thành phần Vue
Khi sử dụng gói laravel/ui để dàn dựng giao diện người dùng của bạn, một thành phần Vue
7 sẽ được đặt trong thư mục
8. Tệp
7 là một ví dụ về một thành phần Vue tệp duy nhất xác định mẫu JavaScript và HTML của nó trong cùng một tệp. Các thành phần tệp đơn cung cấp một cách tiếp cận rất thuận tiện để xây dựng các ứng dụng dựa trên JavaScript. Thành phần ví dụ được đăng ký trong tệp
2 của bạn
require('./components/ExampleComponent.vue').default
Để sử dụng thành phần trong ứng dụng của bạn, bạn có thể thả nó vào một trong các mẫu HTML của mình. Ví dụ: sau khi chạy lệnh
composer require laravel/ui
// Generate basic scaffolding...
// Generate login / registration scaffolding...
1 Artisan để dàn dựng màn hình đăng ký và xác thực ứng dụng của bạn, bạn có thể thả thành phần này vào mẫu Bladecomposer require laravel/ui
// Generate basic scaffolding...
// Generate login / registration scaffolding...
2
{tip} Hãy nhớ rằng, bạn nên chạy lệnh
// Generate basic scaffolding...
// Generate login / registration scaffolding...
php artisan ui bootstrap --auth
4 mỗi khi thay đổi thành phần Vue. Hoặc, bạn có thể chạy lệnhcomposer require laravel/ui
// Generate basic scaffolding...
// Generate login / registration scaffolding...
4 để theo dõi và tự động biên dịch lại các thành phần của mình mỗi khi chúng được sửa đổi
Nếu bạn quan tâm đến việc tìm hiểu thêm về cách viết các thành phần Vue, bạn nên đọc tài liệu về Vue, tài liệu này cung cấp tổng quan toàn diện, dễ đọc về toàn bộ khung Vue
Sử dụng phản ứng
Nếu bạn thích sử dụng React để xây dựng ứng dụng JavaScript của mình, Laravel giúp bạn dễ dàng hoán đổi khung Vue với khung React
composer require laravel/ui
// Generate basic scaffolding...
// Generate login / registration scaffolding...
Thêm cài đặt trước
Các cài đặt trước là "có thể điều chỉnh được", cho phép bạn thêm các phương thức bổ sung vào lớp
composer require laravel/ui
// Generate basic scaffolding...
// Generate login / registration scaffolding...
5 khi chạy. Ví dụ: đoạn mã sau thêm một phương thứccomposer require laravel/ui
// Generate basic scaffolding...
// Generate login / registration scaffolding...
6 vào lớpcomposer require laravel/ui
// Generate basic scaffolding...
// Generate login / registration scaffolding...
5. Thông thường, bạn nên khai báo các macro đặt trước trong nhà cung cấp dịch vụ