Tại sao Sử dụng Công cụ Định dạng PHP này?
- Định dạng căn chỉnh PSR-12 cho các codebase PHP hiện đại
- Được hỗ trợ bởi Prettier + @prettier/plugin-php cho đầu ra ổn định và có quan điểm rõ ràng
- Tùy chọn về kích thước thụt lề, khoảng trắng so với tab, và độ dài dòng / ngắt dòng
- Chuẩn hóa khoảng cách, thụt lề, mảng, cấu trúc điều khiển và dấu ngoặc
- Hoạt động với các tệp .php, .phtml, .php5, .php4 và .inc
- Định dạng nhanh trong trình duyệt với khả năng chuyển đổi tự động sang backend an toàn khi cần
- Tuyệt vời cho Laravel, Symfony, WordPress, framework tùy chỉnh và ứng dụng kế thừa
🔧 Cách Làm Đẹp Mã PHP trong 4 Bước for php-formatter
1. Dán hoặc thả mã của bạn
Dán mã PHP của bạn vào trình soạn thảo, hoặc kéo-thả tệp `.php` / `.phtml` / `.inc`. Công cụ tự động phát hiện cú pháp PHP và chuẩn bị cho việc định dạng.
2. Cấu hình tùy chọn định dạng
Chọn kích thước thụt lề, sử dụng khoảng trắng hay tab, và độ dài dòng / ngắt dòng ưa thích. Mặc định hợp lý cho hầu hết các dự án kiểu PSR-12.
3. Nhấp “Định dạng”
Nhấn **Định dạng** để chạy mã của bạn qua engine PHP của Prettier. Trong trường hợp thông thường, kết quả xuất hiện gần như ngay lập tức.
4. Xem lại, sao chép và commit
Xem lại đầu ra đã định dạng, sau đó sao chép lại vào trình soạn thảo của bạn hoặc tải xuống dưới dạng tệp `.php`. Commit phiên bản đã làm sạch để giữ cho các diff trong tương lai gọn gàng.
Thông số Kỹ thuật
Hỗ trợ Tiêu chuẩn & Cú pháp
Công cụ định dạng PHP được điều chỉnh cho các framework và thư viện hiện đại trong khi vẫn giữ cho cú pháp cổ điển hoạt động trơn tru.
| Tính năng | Hỗ trợ | Ghi chú |
|---|---|---|
| Căn chỉnh PSR-12 | ✅ Có | Phong cách có quan điểm rộng rãi phù hợp với PSR-12 và thực hành cộng đồng phổ biến. |
| Cú pháp PHP 7+ | ✅ Có | Namespaces, gợi ý kiểu vô hướng, kiểu trả về, kiểu nullable, v.v. |
| Tính năng PHP 8+ | ✅ Có | Thuộc tính, kiểu union, khởi tạo constructor, biểu thức match, hàm mũi tên. |
| Cú pháp mảng ngắn | ✅ Có | Chuẩn hóa mảng sang kiểu hiện đại `[ ... ]` khi phù hợp. |
| Heredoc / Nowdoc | ✅ Có | Giữ nguyên nội dung trong khi dọn dẹp thụt lề xung quanh. |
| PHP + HTML hỗn hợp | ✅ Có | Có thể định dạng các mẫu `.php` thông thường chứa HTML nhúng. |
Quy tắc Dọn dẹp & Bố cục
Công cụ PHP của Prettier chỉ tập trung vào bố cục—hành vi mã của bạn vẫn giữ nguyên.
| Khu vực | Điều gì được chuẩn hóa? | Lợi ích |
|---|---|---|
| Thụt lề | Kích thước thụt lề nhất quán sử dụng khoảng trắng hoặc tab theo cài đặt của bạn | Loại bỏ sự trôi dạt thụt lề thủ công theo thời gian. |
| Khoảng cách | Khoảng trắng xung quanh toán tử, dấu phẩy, cấu trúc điều khiển và từ khóa | Giúp biểu thức và điều kiện dễ đọc hơn. |
| Dấu ngoặc & khối | Vị trí đặt dấu ngoặc ổn định cho lớp, hàm và luồng điều khiển | Ngăn ngừa tranh cãi về phong cách và giữ cho diff dễ đoán. |
| Mảng | Các phần tử trên nhiều dòng khi cần, quy tắc dấu phẩy cuối nhất quán | Cải thiện mảng cấu hình lớn và tải trọng. |
| Dòng trống | Nhóm hợp lý giữa các hàm, phương thức và lớp | Mang lại cấu trúc rõ ràng, dễ đọc cho tệp. |
Mô hình Thực thi & Giới hạn
Được thiết kế để nhanh và an toàn trong môi trường trình duyệt.
| Khía cạnh | Giá trị / Hành vi | Ghi chú |
|---|---|---|
| Công cụ thực thi | Prettier + @prettier/plugin-php | Chạy trong trình duyệt bất cứ khi nào plugin có sẵn. |
| Dự phòng | Backend an toàn `/api/php-formatter` | Chỉ được sử dụng nếu plugin PHP không thể tải phía máy khách. |
| Thời gian chờ | ~25 giây | Các yêu cầu sẽ bị hủy nếu việc định dạng mất quá nhiều thời gian. |
| Kích thước đầu vào tối đa (văn bản) | ~2 MB | Rào chắn cứng trong logic định dạng. |
| Kích thước tệp tối đa (tải lên) | ~5 MB | Được xác định bởi cấu hình `maxFileSizeBytes` của công cụ. |
Quyền riêng tư & Bảo mật
Công cụ này được thiết kế cho các đoạn mã phát triển hàng ngày thay vì mã sản xuất có độ nhạy cảm cao.
| Khía cạnh | Hành vi | |
|---|---|---|
| Định dạng phía máy khách | Lựa chọn ưu tiên sử dụng thời gian chạy Prettier của trình duyệt. | Tránh gửi mã qua mạng trong điều kiện bình thường. |
| Dự phòng phía máy chủ | Nếu plugin PHP không thể tải, mã sẽ được gửi qua HTTPS đến một điểm cuối định dạng được bảo mật. | Được xử lý như đầu vào tạm thời chỉ để định dạng. |
| Lưu trữ | Không có ý định lưu trữ lâu dài đầu vào thô. | Chỉ có thể thu thập các số liệu lỗi/hiệu suất tổng hợp. |
| Thực hành tốt nhất | Không dán các bí mật, mã truy cập hoặc mật khẩu vào bất kỳ công cụ định dạng trực tuyến nào. | Giữ mã nhạy cảm bảo mật trên các công cụ cục bộ và CI. |
Định dạng PHP qua Dòng lệnh (Prettier & PHP-CS-Fixer)
Khi bạn làm việc trong một dự án, các công cụ cục bộ là cách tốt nhất để duy trì phong cách nhất quán trên toàn bộ kho mã.
Node / npm
Cài đặt Prettier với plugin PHP
npm install --save-dev prettier @prettier/plugin-phpThêm Prettier và plugin PHP của nó vào dự án của bạn.
Định dạng một tệp PHP duy nhất
npx prettier --write src/Example.php --parser phpÁp dụng cùng phong cách được sử dụng bởi công cụ trực tuyến này.
Định dạng tất cả các tệp PHP trong một dự án
npx prettier "src/**/*.php" --parser php --writeGiữ toàn bộ mã nguồn được định dạng một cách nhất quán.
PHP-CS-Fixer
Cài đặt PHP-CS-Fixer toàn cục với Composer
composer global require friendsofphp/php-cs-fixerThêm một công cụ sửa kiểu mạnh mẽ dành riêng cho PHP vào bộ công cụ CLI của bạn.
Chạy với quy tắc PSR-12
php-cs-fixer fix src --rules=@PSR12Áp dụng PSR-12 cho tất cả các tệp PHP trong thư mục `src`.
Các Trường Hợp Sử Dụng Phổ Biến cho PHP Beautifier
Laravel / Symfony / API Backends
Dọn dẹp controllers, services và DTOs trước khi tái cấu trúc hoặc xem xét mã.
- Chuẩn hóa định dạng của HTTP controllers và form handlers.
- Làm sạch các lớp dịch vụ và repositories được chia sẻ giữa các nhóm.
- Đảm bảo phong cách nhất quán trên các microservices và APIs.
// Trước
class OrderController extends Controller{public function store(Request $request){$order=$this->service->create($request->all());return response()->json($order,201);}}
// Sau
class OrderController extends Controller
{
public function store(Request $request)
{
$order = $this->service->create($request->all());
return response()->json($order, 201);
}
}
WordPress & Các Codebase Cũ
Đưa các dự án PHP 5 / 7 cũ gần hơn với các tiêu chuẩn hiện đại mà không cần viết lại mọi thứ.
- Làm đẹp mã theme và plugin trước khi gỡ lỗi.
- Dọn dẹp các đoạn mã lộn xộn, sao chép từ các hướng dẫn.
- Dần dần chuyển các tệp cũ sang quy ước PSR-12.
Giảng Dạy & Đánh Giá Mã
Sử dụng định dạng để tập trung vào logic và kiến trúc thay vì vị trí dấu ngoặc.
- Chỉ cho sinh viên thấy phong cách nhất quán cải thiện khả năng đọc như thế nào.
- Đính kèm ví dụ trước/sau trong pull requests để làm nổi bật các cải tiến.
- Sử dụng như một kiểm tra nhanh cho các mẫu mã trong bài viết blog và tài liệu.
// Ví dụ bài tập: yêu cầu sinh viên dự đoán kết quả đã định dạng
if($user&&$user->isAdmin()){logAction($user,"login");}
❓ Frequently Asked Questions
❓Công cụ này có hỗ trợ các tính năng PHP 8 hiện đại không?
🔧Tôi có thể thay đổi độ rộng tab hoặc sử dụng tab thay vì khoảng trắng không?
📏Xử lý ngắt dòng như thế nào?
🔐Mã của tôi có được tải lên máy chủ của bạn không?
API an toàn để định dạng. Trong cả hai trường hợp, đầu vào được dự định là tạm thời và không được lưu trữ lâu dài, nhưng bạn vẫn nên tránh dán các bí mật hoặc dữ liệu nhạy cảm cao.🧮Định dạng có thay đổi cách mã PHP của tôi chạy không?
⚙️Làm thế nào để áp dụng cùng một kiểu trong dự án của tôi?
Pro Tips
Thêm bước định dạng (Prettier hoặc PHP-CS-Fixer) vào pipeline CI của bạn để không có PHP chưa định dạng nào đến được `main`.
Chạy trình định dạng trước khi mở yêu cầu kéo để giữ các khác biệt tập trung vào thay đổi hành vi, không phải khoảng trắng.
Đối với các lần tái cấu trúc lớn, định dạng toàn bộ dự án một lần trên một nhánh chuyên dụng, hợp nhất nó, sau đó thực hiện các thay đổi logic trong các PR riêng biệt.
Xử lý các công cụ trực tuyến như các thiết bị đầu cuối dùng chung: tránh dán các bí mật sản xuất và khóa nội bộ vào bất kỳ biểu mẫu web nào.
Additional Resources
Other Tools
- Bộ Làm Đẹp CSS
- Bộ Làm Đẹp HTML
- Bộ Làm Đẹp Javascript
- Bộ Làm Đẹp PHP
- Bộ Chọn Màu
- Bộ Trích Xuất Sprite
- Bộ Giải Mã Base64
- Bộ Mã Hóa Base64
- Bộ Định Dạng Csharp
- Bộ Định Dạng CSV
- Dockerfile Formatter
- Bộ Định Dạng Elm
- Bộ Định Dạng ENV
- Bộ Định Dạng Go
- Bộ Định Dạng GraphQL
- Bộ Định Dạng HCL
- Bộ Định Dạng INI
- Bộ Định Dạng JSON
- Bộ Định Dạng Latex
- Bộ Định Dạng Markdown
- Bộ Định Dạng ObjectiveC
- Bộ Định Dạng Proto
- Bộ Định Dạng Python
- Bộ Định Dạng Ruby
- Bộ Định Dạng Rust
- Bộ Định Dạng Scala
- Bộ Định Dạng Tập Lệnh Shell
- Bộ Định Dạng SQL
- Trình Định Dạng SVG
- Trình Định Dạng Swift
- Trình Định Dạng TOML
- Typescript Formatter
- Trình Định Dạng XML
- Trình Định Dạng YAML
- Trình Định Dạng Yarn
- Bộ Thu Nhỏ CSS
- Html Minifier
- Javascript Minifier
- Bộ Thu Nhỏ JSON
- Trình Thu Nhỏ XML
- Trình Xem Tiêu Đề HTTP
- PDF Sang Văn Bản
- Bộ Kiểm Tra Regex
- Bộ Kiểm Tra Xếp Hạng SERP
- Tra Cứu Whois