Loading…

درباره این فرمت‌کننده PHP زیباساز آنلاین PHP

کد PHP به‌هم‌ریخته از پروژه‌های قدیمی، هک‌های سریع یا قطعات کپی‌شده دارید؟ این فرمت‌کننده آنلاین PHP کد شما را از طریق Prettier با افزونه رسمی PHP اجرا می‌کند و خروجی با سبک PSR-12 با تورفتگی، فاصله‌گذاری و آرایه‌های یکنواخت در چند ثانیه به شما می‌دهد. مناسب برای Laravel، Symfony، WordPress، APIها و CLIها.

چرا از این فرمت‌کننده PHP استفاده کنیم؟

  • قالب‌بندی هم‌سو با PSR-12 برای پایگاه‌های کد PHP مدرن
  • قدرت‌گرفته از Prettier + @prettier/plugin-php برای خروجی پایدار و اصولی
  • گزینه‌هایی برای اندازه تورفتگی، فاصله در مقابل تب و طول خط / بسته‌بندی
  • یکسان‌سازی فاصله‌ها، تورفتگی، آرایه‌ها، ساختارهای کنترلی و آکولادها
  • کار با فایل‌های .php، .phtml، .php5، .php4 و .inc
  • قالب‌بندی سریع در مرورگر با بازگشت خودکار به یک بک‌اند امن در صورت نیاز
  • عالی برای Laravel، Symfony، WordPress، فریم‌ورک‌های سفارشی و برنامه‌های قدیمی

🔧 چگونه کد PHP را در ۴ مرحله زیبا کنیم for php-formatter

1

۱. کد خود را بچسبانید یا رها کنید

کد PHP خود را در ویرایشگر بچسبانید، یا یک فایل `.php` / `.phtml` / `.inc` را کشیده و رها کنید. ابزار به طور خودکار نحو PHP را تشخیص داده و آن را برای قالب‌بندی آماده می‌کند.

2

۲. گزینه‌های قالب‌بندی را پیکربندی کنید

اندازه تورفتگی، استفاده از فاصله یا تب و طول خط / بسته‌بندی مورد نظر خود را انتخاب کنید. مقادیر پیش‌فرض برای اکثر پروژه‌های سبک PSR-12 معقول هستند.

3

۳. روی «قالب‌بندی» کلیک کنید

برای اجرای کدتان از طریق موتور PHP Prettier، روی **قالب‌بندی** کلیک کنید. در موارد معمولی، نتیجه تقریباً بلافاصله ظاهر می‌شود.

4

۴. بررسی، کپی و ثبت کنید

خروجی قالب‌بندی شده را بررسی کنید، سپس آن را به ویرایشگر خود برگردانید یا به عنوان فایل `.php` دانلود کنید. نسخه تمیز شده را ثبت کنید تا تفاوت‌های آینده مرتب بمانند.

مشخصات فنی

پشتیبانی از استانداردها و نحو

فرمت‌کننده PHP برای فریم‌ورک‌ها و کتابخانه‌های مدرن تنظیم شده در حالی که نحو کلاسیک به آرامی کار می‌کند.

ویژگیپشتیبانی شدهیادداشت‌ها
هم‌ترازی PSR-12✅ بلهسبک اصولی که به طور گسترده با PSR-12 و شیوه‌های رایج جامعه هم‌سو است.
نحو PHP 7+✅ بلهفضاهای نام، اشاره‌گرهای نوع اسکالر، انواع بازگشتی، انواع nullable و غیره.
ویژگی‌های PHP 8+✅ بلهویژگی‌ها، انواع اتحادیه، ارتقای سازنده، عبارات تطبیق، توابع پیکانی.
سینتکس کوتاه آرایه✅ بلهآرایه‌ها را در صورت لزوم به سبک مدرن `[ ... ]` نرمال می‌کند.
Heredoc / Nowdoc✅ بلهمحتوای آن را حفظ کرده و تورفتگی‌های اطراف را پاک می‌کند.
PHP + HTML ترکیبی✅ بلهمی‌تواند قالب‌های معمول `.php` حاوی HTML جاسازی شده را قالب‌بندی کند.

قوانین پاکسازی و چیدمان

موتور PHP Prettier فقط بر روی چیدمان تمرکز دارد - رفتار کد شما ثابت می‌ماند.

حوزهچه چیزی نرمال می‌شود؟چرا مفید است
تورفتگیاندازه تورفتگی یکنواخت با استفاده از فاصله یا تب بر اساس تنظیمات شماانحراف تورفتگی دستی را در طول زمان حذف می‌کند.
فاصله‌گذاریفاصله‌های اطراف عملگرها، کاماها، ساختارهای کنترل و کلمات کلیدیخواندن عبارات و شرط‌ها را آسان‌تر می‌کند.
آکولادها و بلوک‌هاجایگذاری پایدار آکولاد برای کلاس‌ها، توابع و کنترل جریاناز جنگ‌های سبکی جلوگیری کرده و تفاوت‌ها را قابل پیش‌بینی نگه می‌دارد.
آرایه‌هاعناصر در صورت نیاز در چند خط، قوانین یکنواخت کاماهای انتهاییآرایه‌های پیکربندی بزرگ و محموله‌ها را بهبود می‌بخشد.
خطوط خالیگروه‌بندی منطقی بین توابع، متدها و کلاس‌هاساختاری واضح و قابل خواندن به فایل‌ها می‌دهد.

مدل اجرا و محدودیت‌ها

طراحی شده تا در محیط مرورگر سریع و ایمن باشد.

جنبهمقدار / رفتاریادداشت‌ها
موتور اجراPrettier + @prettier/plugin-phpهر زمان که پلاگین در دسترس باشد، در مرورگر اجرا می‌شود.
راه‌حل جایگزینبک‌اند امن `/api/php-formatter`فقط در صورتی استفاده می‌شود که پلاگین PHP نتواند در سمت کلاینت بارگیری شود.
زمان‌اتمام~۲۵ ثانیهدرخواست‌ها در صورت طولانی شدن زمان قالب‌بندی لغو می‌شوند.
حداکثر اندازه ورودی (متن)~۲ مگابایتنگهبان سخت در منطق قالب‌بند.
حداکثر اندازه فایل (بارگذاری)~۵ مگابایتتعریف شده توسط پیکربندی `maxFileSizeBytes` ابزار.
برای مخزن‌های کد بزرگ یا بازسازی‌های حجیم، Prettier یا PHP-CS-Fixer را به صورت محلی روی پایگاه کد خود اجرا کنید به جای تکیه بر هر ابزار آنلاین.

حریم خصوصی و امنیت

این ابزار برای قطعه کدهای روزمره توسعه طراحی شده است نه برای کدهای تولیدی بسیار حساس.

جنبهرفتار
قالب‌بندی سمت کلاینتمسیر ترجیحی با استفاده از زمان اجرای Prettier مرورگر.در شرایط عادی از ارسال کد در شبکه جلوگیری می‌کند.
پشتیبان سمت سروراگر افزونه PHP قابل بارگیری نباشد، کد از طریق HTTPS به یک نقطه پایان قالب‌بندی امن ارسال می‌شود.به عنوان ورودی موقت فقط برای قالب‌بندی پردازش می‌شود.
ذخیره‌سازیذخیره‌سازی بلندمدت ورودی خام مورد نظر نیست.فقط معیارهای تجمعی خطا/عملکرد ممکن است جمع‌آوری شوند.
بهترین روشرمزهای عبور، توکن‌های دسترسی یا کلمات عبور را در هیچ قالب‌بند آنلاینی جایگذاری نکنید.کدهای حساس امنیتی را روی ابزارهای محلی و CI نگه دارید.

قالب‌بندی PHP خط فرمان (Prettier & PHP-CS-Fixer)

هنگامی که درون یک پروژه کار می‌کنید، ابزارهای محلی بهترین راه برای اعمال یک سبک یکپارچه در کل مخزن هستند.

Node / npm

نصب Prettier با افزونه PHP

npm install --save-dev prettier @prettier/plugin-php

Prettier و افزونه PHP آن را به پروژه شما اضافه می‌کند.

قالب‌بندی یک فایل PHP تکی

npx prettier --write src/Example.php --parser php

همان سبک استفاده شده توسط این ابزار آنلاین را اعمال می‌کند.

قالب‌بندی تمام فایل‌های PHP در یک پروژه

npx prettier "src/**/*.php" --parser php --write

کل پایگاه کد را به طور یکپارچه قالب‌بندی نگه می‌دارد.

PHP-CS-Fixer

نصب PHP-CS-Fixer به صورت سراسری با Composer

composer global require friendsofphp/php-cs-fixer

یک اصلاح‌کننده قدرتمند سبک مخصوص PHP را به جعبه ابزار خط فرمان شما اضافه می‌کند.

اجرا با قوانین PSR-12

php-cs-fixer fix src --rules=@PSR12

PSR-12 را روی تمام فایل‌های PHP در پوشه `src` اعمال می‌کند.

از این صفحه برای پاکسازی‌های سریع یک‌باره استفاده کنید، سپس در CI و هوک‌های پیش از کامیت به Prettier یا PHP-CS-Fixer تکیه کنید تا کل تیم شما در یک سبک واحد بماند.

موارد استفاده رایج برای زیباکننده PHP

Laravel / Symfony / بک‌اندهای API

قبل از بازآرایی یا بازبینی کد، کنترلرها، سرویس‌ها و DTOها را مرتب کنید.

  • یکسان‌سازی قالب‌بندی کنترلرهای HTTP و مدیریت‌کننده‌های فرم.
  • پاکسازی کلاس‌های سرویس و مخازن مشترک بین تیم‌ها.
  • اطمینان از سبک یکسان در میکروسرویس‌ها و APIها.
// قبل
class OrderController extends Controller{public function store(Request $request){$order=$this->service->create($request->all());return response()->json($order,201);}}
// بعد
class OrderController extends Controller
{
  public function store(Request $request)
  {
    $order = $this->service->create($request->all());

    return response()->json($order, 201);
  }
}

وردپرس و پایگاه‌های کد قدیمی

پروژه‌های قدیمی PHP 5 / 7 را بدون بازنویسی کامل به استانداردهای مدرن نزدیک کنید.

  • زیباسازی کد قالب و افزونه قبل از اشکال‌زدایی.
  • پاکسازی قطعات کد آشفته و کپی‌شده از آموزش‌ها.
  • انتقال تدریجی فایل‌های قدیمی به سمت قراردادهای PSR-12.

آموزش و بازبینی کد

از قالب‌بندی برای تمرکز بر منطق و معماری به جای جایگذاری آکولادها استفاده کنید.

  • نشان دادن به دانش‌آموزان که چگونه سبک یکسان خوانایی را بهبود می‌بخشد.
  • ضمیمه کردن مثال‌های قبل/بعد در درخواست‌های pull برای برجسته کردن بهبودها.
  • استفاده به عنوان بررسی سریع سلامت برای نمونه‌های کد در پست‌های وبلاگ و مستندات.
// مثال تمرین: از دانش‌آموزان بخواهید نتیجه قالب‌بندی شده را پیش‌بینی کنند
if($user&&$user->isAdmin()){logAction($user,"login");}

❓ Frequently Asked Questions

آیا این ابزار از ویژگی‌های مدرن PHP 8 پشتیبانی می‌کند؟

بله. قالب‌بند از نحو مدرن معمول PHP پشتیبانی می‌کند، شامل اشاره‌های نوع، انواع اتحادیه، ارتقای سازنده، ویژگی‌ها، عبارات match و توابع پیکانی.

🔧آیا می‌توانم عرض تب را تغییر دهم یا به جای فاصله از تب استفاده کنم؟

قطعاً. می‌توانید اندازه تورفتگی (۱–۸) و اینکه تورفتگی از فاصله استفاده کند یا تب را انتخاب کنید. قالب‌بند این تنظیمات را به طور یکنواخت در کل فایل شما اعمال می‌کند.

📏پیچیدن خطوط چگونه مدیریت می‌شود؟

از گزینه wrap / line length برای اشاره به عرض مورد نظر خطوط استفاده کنید. تنظیم 0 با استفاده از یک حد داخلی بسیار بزرگ، پیچیدن را به طور موثر غیرفعال می‌کند.

🔐آیا کد من به سرورهای شما آپلود می‌شود؟

ابزار ترجیح می‌دهد قالب‌بندی از طریق Prettier در مرورگر انجام شود. اگر موتور PHP در محیط شما قابل بارگیری نباشد، به یک API امن برای قالب‌بندی بازمی‌گردد. در هر دو حالت، ورودی به صورت موقت در نظر گرفته شده و به طور بلندمدت ذخیره نمی‌شود، اما همچنان باید از چسباندن اسرار یا داده‌های بسیار حساس خودداری کنید.

🧮آیا قالب‌بندی بر اجرای کد PHP من تأثیر می‌گذارد؟

قالب‌بند فقط چیدمان را تغییر می‌دهد—فاصله‌های سفید، تورفتگی، شکستن خطوط و موارد مشابه. این ابزار عمداً معناشناسی را تغییر نمی‌دهد. با این حال، پس از بازسازی‌های خودکار بزرگ، همیشه مجموعه آزمون خود را اجرا کنید.

⚙️چگونه می‌توانم سبک یکسانی را در پروژه خود اعمال کنم؟

از Prettier با افزونه PHP یا PHP-CS-Fixer در پروژه و خط لوله CI خود استفاده کنید. این ابزار آنلاین یک رابط کاربری مناسب برای رفع سریع مشکلات است؛ ابزارهای محلی برای اعمال سبک در مقیاس بزرگ بهتر هستند.

Pro Tips

Best Practice

یک مرحله قالب‌بندی (Prettier یا PHP-CS-Fixer) به خط لوله CI خود اضافه کنید تا هیچ کد PHP بدون قالب‌بندی به `main` نرسد.

Best Practice

قبل از باز کردن درخواست ادغام، قالب‌بند را اجرا کنید تا تفاوت‌ها بر تغییرات رفتاری متمرکز باشند، نه فاصله‌های سفید.

Best Practice

برای بازسازی‌های بزرگ، یک بار کل پروژه را در یک شاخه اختصاصی قالب‌بندی کنید، آن را ادغام کنید، سپس تغییرات منطقی را در PRهای جداگانه انجام دهید.

Best Practice

با ابزارهای آنلاین مانند ترمینال‌های اشتراکی رفتار کنید: از چسباندن اسرار تولید و کلیدهای داخلی در هر فرم وب خودداری کنید.

Additional Resources

Other Tools