Mengapa Menggunakan Pemformat PHP Ini?
- Format selaras PSR-12 untuk basis kode PHP modern
- Ditenagai Prettier + @prettier/plugin-php untuk keluaran stabil dan berpendirian
- Opsi untuk ukuran indentasi, spasi vs tab, dan bungkus / panjang baris
- Menormalkan spasi, indentasi, array, struktur kontrol, dan kurung kurawal
- Bekerja dengan file .php, .phtml, .php5, .php4, dan .inc
- Pemformatan cepat dalam peramban dengan fallback otomatis ke backend aman saat diperlukan
- Cocok untuk Laravel, Symfony, WordPress, kerangka kerja kustom, dan aplikasi warisan
๐ง Cara Mempercantik Kode PHP dalam 4 Langkah for php-formatter
1. Tempel atau jatuhkan kode Anda
Tempel kode PHP Anda ke editor, atau seret-dan-jatuhkan file `.php` / `.phtml` / `.inc`. Alat ini mendeteksi sintaks PHP secara otomatis dan mempersiapkannya untuk pemformatan.
2. Konfigurasi opsi pemformatan
Pilih ukuran indentasi, gunakan spasi atau tab, dan panjang bungkus / baris yang diinginkan. Default sudah sesuai untuk sebagian besar proyek bergaya PSR-12.
3. Klik "Format"
Tekan **Format** untuk menjalankan kode Anda melalui mesin PHP Prettier. Dalam kasus biasa, hasilnya muncul hampir seketika.
4. Tinjau, salin, dan komit
Tinjau keluaran yang telah diformat, lalu salin kembali ke editor Anda atau unduh sebagai file `.php`. Komit versi yang telah dibersihkan untuk menjaga perbedaan masa depan tetap rapi.
Spesifikasi Teknis
Dukungan Standar & Sintaks
Pemformat PHP disetel untuk kerangka kerja dan pustaka modern sambil menjaga sintaks klasik berjalan lancar.
| Fitur | Didukung | Catatan |
|---|---|---|
| Kesesuaian PSR-12 | โ Ya | Gaya berpendirian yang seluasnya sejalan dengan PSR-12 dan praktik komunitas umum. |
| Sintaks PHP 7+ | โ Ya | Namespace, petunjuk tipe skalar, tipe pengembalian, tipe nullable, dll. |
| Fitur PHP 8+ | โ Ya | Atribut, tipe union, promosi konstruktor, ekspresi match, fungsi panah. |
| Sintaks array pendek | โ Ya | Menormalisasi array ke gaya modern `[ ... ]` jika sesuai. |
| Heredoc / Nowdoc | โ Ya | Mempertahankan konten sambil membersihkan indentasi di sekitarnya. |
| PHP + HTML Campuran | โ Ya | Dapat memformat template `.php` biasa yang berisi HTML tertanam. |
Aturan Pembersihan & Tata Letak
Mesin PHP Prettier berfokus hanya pada tata letakโperilaku kode Anda tetap sama.
| Area | Apa yang dinormalisasi? | Mengapa ini membantu |
|---|---|---|
| Indentasi | Ukuran indentasi konsisten menggunakan spasi atau tab sesuai pengaturan Anda | Menghilangkan pergeseran indentasi buatan tangan seiring waktu. |
| Spasi | Spasi di sekitar operator, koma, struktur kontrol, dan kata kunci | Membuat ekspresi dan kondisi lebih mudah dibaca. |
| Kurung kurawal & blok | Penempatan kurung kurawal yang stabil untuk kelas, fungsi, dan alur kontrol | Mencegah perang gaya dan menjaga perbedaan yang dapat diprediksi. |
| Array | Elemen dalam beberapa baris jika diperlukan, aturan koma akhir yang konsisten | Meningkatkan array konfigurasi dan muatan yang besar. |
| Baris kosong | Pengelompokan yang wajar antara fungsi, metode, dan kelas | Memberikan struktur yang jelas dan mudah dibaca pada file. |
Model Eksekusi & Batasan
Dirancang untuk cepat dan aman di lingkungan browser.
| Aspek | Nilai / Perilaku | Catatan |
|---|---|---|
| Mesin eksekusi | Prettier + @prettier/plugin-php | Berjalan di browser kapan pun plugin tersedia. |
| Cadangan | Backend `/api/php-formatter` yang aman | Digunakan hanya jika plugin PHP tidak dapat dimuat di sisi klien. |
| Batas Waktu | ~25 detik | Permintaan dibatalkan jika pemformatan memakan waktu terlalu lama. |
| Ukuran input maksimum (teks) | ~2 MB | Pembatas keras dalam logika pemformat. |
| Ukuran file maksimum (unggah) | ~5 MB | Ditentukan oleh konfigurasi `maxFileSizeBytes` alat. |
Privasi & Keamanan
Alat ini ditujukan untuk cuplikan pengembangan sehari-hari daripada kode produksi yang sangat sensitif.
| Aspek | Perilaku | |
|---|---|---|
| Pemformatan sisi klien | Jalur yang disarankan menggunakan runtime Prettier browser. | Menghindari pengiriman kode melalui jaringan dalam kondisi normal. |
| Cadangan backend | Jika plugin PHP tidak dapat dimuat, kode dikirim melalui HTTPS ke titik akhir pemformatan yang aman. | Diproses sebagai input sementara hanya untuk pemformatan. |
| Penyimpanan | Tidak ada penyimpanan jangka panjang dari input mentah yang dimaksudkan. | Hanya metrik kesalahan/kinerja yang teragregasi yang dapat dikumpulkan. |
| Praktik terbaik | Jangan tempelkan rahasia, token akses, atau kata sandi ke dalam pemformat daring apa pun. | Simpan kode yang sensitif keamanan pada alat lokal dan CI. |
Pemformatan PHP Baris Perintah (Prettier & PHP-CS-Fixer)
Saat Anda bekerja di dalam proyek, alat lokal adalah cara terbaik untuk menerapkan gaya yang konsisten di seluruh repo.
Node / npm
Instal Prettier dengan plugin PHP
npm install --save-dev prettier @prettier/plugin-phpMenambahkan Prettier dan plugin PHP-nya ke proyek Anda.
Format satu file PHP
npx prettier --write src/Example.php --parser phpMenerapkan gaya yang sama seperti yang digunakan oleh alat daring ini.
Format semua file PHP dalam proyek
npx prettier "src/**/*.php" --parser php --writeMenjaga seluruh basis kode tetap terformat secara konsisten.
PHP-CS-Fixer
Instal PHP-CS-Fixer secara global dengan Composer
composer global require friendsofphp/php-cs-fixerMenambahkan alat perbaikan gaya khusus PHP yang kuat ke toolkit CLI Anda.
Jalankan dengan aturan PSR-12
php-cs-fixer fix src --rules=@PSR12Menerapkan PSR-12 ke semua file PHP di bawah `src`.
Kasus Penggunaan Umum untuk PHP Beautifier
Laravel / Symfony / Backend API
Rapikan controller, layanan, dan DTO sebelum refactoring atau tinjauan kode.
- Normalisasikan format HTTP controller dan form handler.
- Bersihkan kelas layanan dan repositori yang dibagikan antar tim.
- Pastikan gaya yang konsisten di seluruh microservice dan API.
// Sebelum
class OrderController extends Controller{public function store(Request $request){$order=$this->service->create($request->all());return response()->json($order,201);}}
// Setelah
class OrderController extends Controller
{
public function store(Request $request)
{
$order = $this->service->create($request->all());
return response()->json($order, 201);
}
}
WordPress & Basis Kode Lawas
Bawa proyek PHP 5 / 7 yang lebih tua mendekati standar modern tanpa menulis ulang semuanya.
- Perindah kode tema dan plugin sebelum debugging.
- Bersihkan cuplikan kode yang berantakan dan disalin-tempel dari tutorial.
- Secara bertahap pindahkan file lawas ke konvensi PSR-12.
Pengajaran & Tinjauan Kode
Gunakan pemformatan untuk fokus pada logika dan arsitektur daripada penempatan kurung.
- Tunjukkan kepada siswa bagaimana gaya yang konsisten meningkatkan keterbacaan.
- Lampirkan contoh sebelum/sesudah dalam pull request untuk menyoroti peningkatan.
- Gunakan sebagai pemeriksaan cepat untuk sampel kode di posting blog dan dokumentasi.
// Contoh latihan: minta siswa memprediksi hasil yang diformat
if($user&&$user->isAdmin()){logAction($user,"login");}
โ Frequently Asked Questions
โApakah alat ini mendukung fitur PHP 8 modern?
๐งBisakah saya mengubah lebar tab atau menggunakan tab alih-alih spasi?
๐Bagaimana pembungkusan baris ditangani?
๐Apakah kode saya diunggah ke server Anda?
API yang aman untuk pemformatan. Dalam kedua kasus, input dimaksudkan untuk sementara dan tidak disimpan jangka panjang, tetapi Anda tetap harus menghindari menempelkan rahasia atau data yang sangat sensitif.๐งฎApakah pemformatan akan mengubah cara kode PHP saya berjalan?
โ๏ธBagaimana cara menerapkan gaya yang sama di proyek saya?
Pro Tips
Tambahkan langkah pemformatan (Prettier atau PHP-CS-Fixer) ke pipeline CI Anda agar tidak ada PHP yang tidak terformat mencapai `main`.
Jalankan formatter sebelum membuka pull request agar diff fokus pada perubahan perilaku, bukan spasi.
Untuk refaktor besar, format seluruh proyek sekali di cabang khusus, gabungkan, lalu lakukan perubahan logis di PR terpisah.
Perlakukan alat daring seperti terminal bersama: hindari menempelkan rahasia produksi dan kunci internal ke dalam formulir web apa pun.
Additional Resources
Other Tools
- Pemerindah CSS
- Pemerindah HTML
- Pemerindah Javascript
- Pemerindah PHP
- Pemilih Warna
- Ekstraktor Sprite
- Dekoder Base64
- Encoder Base64
- Pemformat Csharp
- Pemformat CSV
- Dockerfile Formatter
- Pemformat Elm
- Pemformat ENV
- Pemformat Go
- Pemformat GraphQL
- Pemformat HCL
- Pemformat INI
- Pemformat JSON
- Pemformat Latex
- Pemformat Markdown
- Pemformat ObjectiveC
- Pemformat Proto
- Pemformat Python
- Pemformat Ruby
- Pemformat Rust
- Pemformat Scala
- Pemformat Skrip Shell
- Pemformat SQL
- Pemformat SVG
- Pemformat Swift
- Pemformat TOML
- Typescript Formatter
- Pemformat XML
- Pemformat YAML
- Pemformat Yarn
- Pengecil CSS
- Html Minifier
- Javascript Minifier
- Pengecil JSON
- Pengecil XML
- Penampil Header HTTP
- PDF Ke Teks
- Penguji Regex
- Pemeriksa Peringkat SERP
- Pencarian Whois