Loadingâ€Ļ

āĻāχ PHP āĻĢāϰāĻŽā§āϝāĻžāϟāĻžāϰ āϏāĻŽā§āĻĒāĻ°ā§āϕ⧇ āĻ…āύāϞāĻžāχāύ PHP āĻŦāĻŋāωāϟāĻŋāĻĢāĻžāϝāĻŧāĻžāϰ

āϞāĻŋāϗ⧇āϏāĻŋ āĻĒā§āϰāĻ•āĻ˛ā§āĻĒ, āĻĻā§āϰ⧁āϤ āĻšā§āϝāĻžāĻ• āĻŦāĻž āĻ•āĻĒāĻŋ-āĻĒ⧇āĻ¸ā§āϟ āĻ•āϰāĻž āĻ¸ā§āύāĻŋāĻĒ⧇āϟ āĻĨ⧇āϕ⧇ āĻāϞ⧋āĻŽā§‡āϞ⧋ PHP āϕ⧋āĻĄ āĻĒ⧇āϝāĻŧ⧇āϛ⧇āύ? āĻāχ āĻ…āύāϞāĻžāχāύ PHP āĻĢāϰāĻŽā§āϝāĻžāϟāĻžāϰ Prettier āĻāϰ āĻŽāĻžāĻ§ā§āϝāĻŽā§‡ āφāĻĒāύāĻžāϰ āϕ⧋āĻĄ āϚāĻžāϞāĻžāϝāĻŧ āĻ…āĻĢāĻŋāϏāĻŋāϝāĻŧāĻžāϞ PHP āĻĒā§āϞāĻžāĻ—āχāύ āϏāĻš, āφāĻĒāύāĻžāϕ⧇ PSR-12–āĻ¸ā§āϟāĻžāχāϞ āφāωāϟāĻĒ⧁āϟ āĻĻ⧇āϝāĻŧ āϏāĻžāĻŽāĻžā§āϜāĻ¸ā§āϝāĻĒā§‚āĻ°ā§āĻŖ āχāĻ¨ā§āĻĄā§‡āĻ¨ā§āĻŸā§‡āĻļāύ, āĻ¸ā§āĻĒ⧇āϏāĻŋāĻ‚ āĻāĻŦāĻ‚ āĻ…ā§āϝāĻžāϰ⧇ āϏāĻš āϏ⧇āϕ⧇āĻ¨ā§āĻĄā§‡āϰ āĻŽāĻ§ā§āϝ⧇āĨ¤ Laravel, Symfony, WordPress, API āĻāĻŦāĻ‚ CLI āĻāϰ āϜāĻ¨ā§āϝ āύāĻŋāϖ⧁āρāϤāĨ¤

āϕ⧇āύ āĻāχ PHP āĻĢāϰāĻŽā§āϝāĻžāϟāĻžāϰ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāĻŦ⧇āύ?

  • āφāϧ⧁āύāĻŋāĻ• PHP āϕ⧋āĻĄāĻŦ⧇āϏ⧇āϰ āϜāĻ¨ā§āϝ PSR-12–āϏāĻŽāĻ¨ā§āĻŦāĻŋāϤ āĻĢāϰāĻŽā§āϝāĻžāϟāĻŋāĻ‚
  • 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

ā§Š. "āĻĢāϰāĻŽā§āϝāĻžāϟ" āĻ•ā§āϞāĻŋāĻ• āĻ•āϰ⧁āύ

āφāĻĒāύāĻžāϰ āϕ⧋āĻĄ Prettier-āĻāϰ PHP āχāĻžā§āϜāĻŋāύ⧇āϰ āĻŽāĻžāĻ§ā§āϝāĻŽā§‡ āϚāĻžāϞāĻžāύ⧋āϰ āϜāĻ¨ā§āϝ **āĻĢāϰāĻŽā§āϝāĻžāϟ** āĻšāĻŋāϟ āĻ•āϰ⧁āύāĨ¤ āϏāĻžāϧāĻžāϰāĻŖ āĻ•ā§āώ⧇āĻ¤ā§āϰ⧇, āĻĢāϞāĻžāĻĢāϞ āĻĒā§āϰāĻžāϝāĻŧ āϤāĻžāĻ¤ā§āĻ•ā§āώāĻŖāĻŋāĻ•āĻ­āĻžāĻŦ⧇ āĻĻ⧇āĻ–āĻž āϝāĻžāϝāĻŧāĨ¤

4

ā§Ē. āĻĒāĻ°ā§āϝāĻžāϞ⧋āϚāύāĻž āĻ•āϰ⧁āύ, āĻ•āĻĒāĻŋ āĻ•āϰ⧁āύ, āĻāĻŦāĻ‚ āĻ•āĻŽāĻŋāϟ āĻ•āϰ⧁āύ

āĻĢāϰāĻŽā§āϝāĻžāϟ āĻ•āϰāĻž āφāωāϟāĻĒ⧁āϟ āĻĒāĻ°ā§āϝāĻžāϞ⧋āϚāύāĻž āĻ•āϰ⧁āύ, āϤāĻžāϰāĻĒāϰ āĻāϟāĻŋāϕ⧇ āφāĻĒāύāĻžāϰ āĻāĻĄāĻŋāϟāϰ⧇ āĻĢāĻŋāϰ⧇ āĻ•āĻĒāĻŋ āĻ•āϰ⧁āύ āĻŦāĻž āĻāĻ•āϟāĻŋ `.php` āĻĢāĻžāχāϞ āĻšāĻŋāϏāĻžāĻŦ⧇ āĻĄāĻžāωāύāϞ⧋āĻĄ āĻ•āϰ⧁āύāĨ¤ āĻ­āĻŦāĻŋāĻˇā§āϝāϤ⧇āϰ āĻĄāĻŋāĻĢāϗ⧁āϞāĻŋ āĻĒāϰāĻŋāĻˇā§āĻ•āĻžāϰ āϰāĻžāĻ–āϤ⧇ āĻĒāϰāĻŋāĻˇā§āĻ•āĻžāϰ āϏāĻ‚āĻ¸ā§āĻ•āϰāĻŖ āĻ•āĻŽāĻŋāϟ āĻ•āϰ⧁āύāĨ¤

āĻĒā§āϰāϝ⧁āĻ•ā§āϤāĻŋāĻ—āϤ āĻŦāĻŋāĻŦāϰāĻŖ

āĻŽāĻžāύ āĻāĻŦāĻ‚ āϏāĻŋāύāĻŸā§āϝāĻžāĻ•ā§āϏ āϏāĻŽāĻ°ā§āĻĨāύ

PHP āĻĢāϰāĻŽā§āϝāĻžāϟāĻžāϰāϟāĻŋ āφāϧ⧁āύāĻŋāĻ• āĻĢā§āϰ⧇āĻŽāĻ“āϝāĻŧāĻžāĻ°ā§āĻ• āĻāĻŦāĻ‚ āϞāĻžāχāĻŦā§āϰ⧇āϰāĻŋāϰ āϜāĻ¨ā§āϝ āϟāĻŋāωāύ āĻ•āϰāĻž āĻšāϝāĻŧ⧇āϛ⧇, āĻāĻ•āχ āϏāĻžāĻĨ⧇ āĻ•ā§āϞāĻžāϏāĻŋāĻ• āϏāĻŋāύāĻŸā§āϝāĻžāĻ•ā§āϏāϕ⧇ āĻŽāϏ⧃āĻŖāĻ­āĻžāĻŦ⧇ āĻ•āĻžāϜ āĻ•āϰāϤ⧇ āϰāĻžāϖ⧇āĨ¤

āĻĢāĻŋāϚāĻžāϰāϏāĻŽāĻ°ā§āĻĨāĻŋāϤāύ⧋āϟ
PSR-12 āĻ…ā§āϝāĻžāϞāĻžāχāύāĻŽā§‡āĻ¨ā§āĻŸâœ… āĻšā§āϝāĻžāρPSR-12 āĻāĻŦāĻ‚ āϏāĻžāϧāĻžāϰāĻŖ āĻ•āĻŽāĻŋāωāύāĻŋāϟāĻŋ āĻ…āύ⧁āĻļā§€āϞāύ⧇āϰ āϏāĻžāĻĨ⧇ āĻŽāϤāĻžāĻŽāϤāĻ­āĻŋāĻ¤ā§āϤāĻŋāĻ• āĻ¸ā§āϟāĻžāχāϞ āĻŦā§āϝāĻžāĻĒāĻ•āĻ­āĻžāĻŦ⧇ āϏāĻŽāĻ¨ā§āĻŦāĻŋāϤāĨ¤
PHP 7+ āϏāĻŋāύāĻŸā§āϝāĻžāĻ•ā§āĻ¸âœ… āĻšā§āϝāĻžāρāύ⧇āĻŽāĻ¸ā§āĻĒ⧇āϏ, āĻ¸ā§āϕ⧇āϞāĻžāϰ āϟāĻžāχāĻĒ āĻšāĻŋāĻ¨ā§āϟ, āϰāĻŋāϟāĻžāĻ°ā§āύ āϟāĻžāχāĻĒ, āύāĻžāϞāϝ⧋āĻ—ā§āϝ āϟāĻžāχāĻĒ, āχāĻ¤ā§āϝāĻžāĻĻāĻŋāĨ¤
PHP 8+ āĻĢāĻŋāϚāĻžāĻ°âœ… āĻšā§āϝāĻžāρāĻ…ā§āϝāĻžāĻŸā§āϰāĻŋāĻŦāĻŋāωāϟ, āχāωāύāĻŋāϝāĻŧāύ āϟāĻžāχāĻĒ, āĻ•āύāĻ¸ā§āĻŸā§āϰāĻžāĻ•ā§āϟāϰ āĻĒā§āϰāĻŽā§‹āĻļāύ, āĻŽā§āϝāĻžāϚ āĻāĻ•ā§āϏāĻĒā§āϰ⧇āĻļāύ, āĻ…ā§āϝāĻžāϰ⧋ āĻĢāĻžāĻ‚āĻļāύāĨ¤
āϏāĻ‚āĻ•ā§āώāĻŋāĻĒā§āϤ āĻ…ā§āϝāĻžāϰ⧇ āϏāĻŋāύāĻŸā§āϝāĻžāĻ•ā§āĻ¸âœ… āĻšā§āϝāĻžāρāϝ⧇āĻ–āĻžāύ⧇ āωāĻĒāϝ⧁āĻ•ā§āϤ āϏ⧇āĻ–āĻžāύ⧇ āĻ…ā§āϝāĻžāϰ⧇āϗ⧁āϞ⧋āϕ⧇ āφāϧ⧁āύāĻŋāĻ• `[ ... ]` āĻ¸ā§āϟāĻžāχāϞ⧇ āĻ¸ā§āĻŦāĻžāĻ­āĻžāĻŦāĻŋāĻ• āĻ•āϰ⧇āĨ¤
āĻšā§‡āϰ⧇āĻĄāĻ• / āύāĻžāωāĻĄāĻ•âœ… āĻšā§āϝāĻžāρāϚāĻžāϰāĻĒāĻžāĻļ⧇āϰ āχāĻ¨ā§āĻĄā§‡āĻ¨ā§āĻŸā§‡āĻļāύ āĻĒāϰāĻŋāĻˇā§āĻ•āĻžāϰ āĻ•āϰāĻžāϰ āϏāĻŽāϝāĻŧ āĻŦāĻŋāώāϝāĻŧāĻŦāĻ¸ā§āϤ⧁ āϏāĻ‚āϰāĻ•ā§āώāĻŖ āĻ•āϰ⧇āĨ¤
āĻŽāĻŋāĻļā§āϰ PHP + HTML✅ āĻšā§āϝāĻžāρāĻāĻŽā§āĻŦ⧇āĻĄ āĻ•āϰāĻž HTML āϏāĻŽā§āĻŦāϞāĻŋāϤ āϏāĻžāϧāĻžāϰāĻŖ `.php` āĻŸā§‡āĻŽāĻĒā§āϞ⧇āϟ āĻĢāϰāĻŽā§āϝāĻžāϟ āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇āĨ¤

āĻ•ā§āϞāĻŋāύāφāĻĒ āĻ“ āϞ⧇āφāωāϟ āύāĻŋāϝāĻŧāĻŽ

Prettier-āĻāϰ PHP āχāĻžā§āϜāĻŋāύ āĻļ⧁āϧ⧁āĻŽāĻžāĻ¤ā§āϰ āϞ⧇āφāωāĻŸā§‡ āĻĢā§‹āĻ•āĻžāϏ āĻ•āĻ°ā§‡â€”āφāĻĒāύāĻžāϰ āϕ⧋āĻĄā§‡āϰ āφāϚāϰāĻŖ āĻāĻ•āχ āĻĨāĻžāϕ⧇āĨ¤

āĻāϞāĻžāĻ•āĻžāϕ⧀ āĻ¸ā§āĻŦāĻžāĻ­āĻžāĻŦāĻŋāĻ• āĻ•āϰāĻž āĻšāϝāĻŧ?āĻāϟāĻŋ āϕ⧀āĻ­āĻžāĻŦ⧇ āϏāĻžāĻšāĻžāĻ¯ā§āϝ āĻ•āϰ⧇
āχāĻ¨ā§āĻĄā§‡āĻ¨ā§āĻŸā§‡āĻļāύāφāĻĒāύāĻžāϰ āϏ⧇āϟāĻŋāĻ‚āϏ āĻ…āύ⧁āϝāĻžāϝāĻŧā§€ āĻ¸ā§āĻĒ⧇āϏ āĻŦāĻž āĻŸā§āϝāĻžāĻŦ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇ āϏāĻžāĻŽāĻžā§āϜāĻ¸ā§āϝāĻĒā§‚āĻ°ā§āĻŖ āχāĻ¨ā§āĻĄā§‡āĻ¨ā§āϟ āφāĻ•āĻžāϰāϏāĻŽāϝāĻŧ⧇āϰ āϏāĻžāĻĨ⧇ āĻšāĻžāϤ⧇ āϤ⧈āϰāĻŋ āχāĻ¨ā§āĻĄā§‡āĻ¨ā§āĻŸā§‡āĻļāύ āĻĄā§āϰāĻŋāĻĢāϟ āĻĻā§‚āϰ āĻ•āϰ⧇āĨ¤
āĻ¸ā§āĻĒ⧇āϏāĻŋāĻ‚āĻ…āĻĒāĻžāϰ⧇āϟāϰ, āĻ•āĻŽāĻž, āĻ•āĻ¨ā§āĻŸā§āϰ⧋āϞ āĻ¸ā§āĻŸā§āϰāĻžāĻ•āϚāĻžāϰ āĻāĻŦāĻ‚ āϕ⧀āĻ“āϝāĻŧāĻžāĻ°ā§āĻĄā§‡āϰ āϚāĻžāϰāĻĒāĻžāĻļ⧇āϰ āĻ¸ā§āĻĒ⧇āϏāĻāĻ•ā§āϏāĻĒā§āϰ⧇āĻļāύ āĻāĻŦāĻ‚ āĻļāĻ°ā§āϤ āĻĒāĻĄāĻŧāĻž āϏāĻšāϜ āĻ•āϰ⧇ āϤ⧋āϞ⧇āĨ¤
āĻŦā§āϰ⧇āϏ āĻ“ āĻŦā§āϞāĻ•āĻ•ā§āϞāĻžāϏ, āĻĢāĻžāĻ‚āĻļāύ āĻāĻŦāĻ‚ āĻ•āĻ¨ā§āĻŸā§āϰ⧋āϞ-āĻĢā§āϞ⧋āϰ āϜāĻ¨ā§āϝ āĻ¸ā§āĻĨāĻŋāϤāĻŋāĻļā§€āϞ āĻŦā§āϰ⧇āϏ āĻĒā§āϞ⧇āϏāĻŽā§‡āĻ¨ā§āϟāĻ¸ā§āϟāĻžāχāϞ āϝ⧁āĻĻā§āϧ āϰ⧋āϧ āĻ•āϰ⧇ āĻāĻŦāĻ‚ āĻĄāĻŋāĻĢāϗ⧁āϞāĻŋ āĻ…āύ⧁āĻŽāĻžāύāϝ⧋āĻ—ā§āϝ āϰāĻžāϖ⧇āĨ¤
āĻ…ā§āϝāĻžāϰ⧇āĻĒā§āϰāϝāĻŧā§‹āϜāύ⧇ āĻāĻ•āĻžāϧāĻŋāĻ• āϞāĻžāχāύ⧇ āωāĻĒāĻžāĻĻāĻžāύ, āϏāĻžāĻŽāĻžā§āϜāĻ¸ā§āϝāĻĒā§‚āĻ°ā§āĻŖ āĻŸā§āϰ⧇āχāϞāĻŋāĻ‚ āĻ•āĻŽāĻž āύāĻŋāϝāĻŧāĻŽāĻŦāĻĄāĻŧ āĻ•āύāĻĢāĻŋāĻ—āĻžāϰ⧇āĻļāύ āĻ…ā§āϝāĻžāϰ⧇ āĻāĻŦāĻ‚ āĻĒ⧇āϞ⧋āĻĄ āωāĻ¨ā§āύāϤ āĻ•āϰ⧇āĨ¤
āĻ–āĻžāϞāĻŋ āϞāĻžāχāύāĻĢāĻžāĻ‚āĻļāύ, āĻŽā§‡āĻĨāĻĄ āĻāĻŦāĻ‚ āĻ•ā§āϞāĻžāϏ⧇āϰ āĻŽāĻ§ā§āϝ⧇ āϝ⧁āĻ•ā§āϤāĻŋāϏāĻ™ā§āĻ—āϤ āĻ—ā§āϰ⧁āĻĒāĻŋāĻ‚āĻĢāĻžāχāϞāϗ⧁āϞāĻŋāϕ⧇ āĻāĻ•āϟāĻŋ āĻ¸ā§āĻĒāĻˇā§āϟ, āĻĒāĻžāĻ āϝ⧋āĻ—ā§āϝ āĻ•āĻžāĻ āĻžāĻŽā§‹ āĻĻ⧇āϝāĻŧāĨ¤

āĻāĻ•ā§āϏāĻŋāĻ•āĻŋāωāĻļāύ āĻŽāĻĄā§‡āϞ āĻ“ āϏ⧀āĻŽāĻžāĻŦāĻĻā§āϧāϤāĻž

āĻŦā§āϰāĻžāωāϜāĻžāϰ āĻĒāϰāĻŋāĻŦ⧇āĻļ⧇ āĻĻā§āϰ⧁āϤ āĻāĻŦāĻ‚ āύāĻŋāϰāĻžāĻĒāĻĻ āĻšāĻ“āϝāĻŧāĻžāϰ āϜāĻ¨ā§āϝ āĻĄāĻŋāϜāĻžāχāύ āĻ•āϰāĻž āĻšāϝāĻŧ⧇āϛ⧇āĨ¤

āĻĻāĻŋāĻ•āĻŽāĻžāύ / āφāϚāϰāĻŖāĻŽāĻ¨ā§āϤāĻŦā§āϝ
āĻāĻ•ā§āϏāĻŋāĻ•āĻŋāωāĻļāύ āχāĻžā§āϜāĻŋāύPrettier + @prettier/plugin-phpāϝāĻ–āύāχ āĻĒā§āϞāĻžāĻ—āχāύāϟāĻŋ āωāĻĒāϞāĻŦā§āϧ āĻĨāĻžāϕ⧇ āϤāĻ–āύāχ āĻŦā§āϰāĻžāωāϜāĻžāϰ⧇ āϚāϞ⧇āĨ¤
āĻĢāϞāĻŦā§āϝāĻžāĻ•āϏ⧁āϰāĻ•ā§āώāĻŋāϤ `/api/php-formatter` āĻŦā§āϝāĻžāĻ•āĻāĻ¨ā§āĻĄāĻļ⧁āϧ⧁āĻŽāĻžāĻ¤ā§āϰ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāĻž āĻšāϝāĻŧ āϝāĻĻāĻŋ PHP āĻĒā§āϞāĻžāĻ—āχāύ āĻ•ā§āϞāĻžāϝāĻŧ⧇āĻ¨ā§āϟ-āϏāĻžāχāĻĄ āϞ⧋āĻĄ āĻ•āϰāĻž āύāĻž āϝāĻžāϝāĻŧāĨ¤
āϟāĻžāχāĻŽāφāωāϟ~⧍ā§Ģ āϏ⧇āϕ⧇āĻ¨ā§āĻĄāĻĢāϰāĻŽā§āϝāĻžāϟāĻŋāĻ‚ āĻŦ⧇āĻļāĻŋ āϏāĻŽāϝāĻŧ āύāĻŋāϞ⧇ āĻ…āύ⧁āϰ⧋āϧ āĻŦāĻžāϤāĻŋāϞ āĻ•āϰāĻž āĻšāϝāĻŧāĨ¤
āϏāĻ°ā§āĻŦā§‹āĻšā§āϚ āχāύāĻĒ⧁āϟ āφāĻ•āĻžāϰ (āĻŸā§‡āĻ•ā§āϏāϟ)~⧍ āĻāĻŽāĻŦāĻŋāĻĢāϰāĻŽā§āϝāĻžāϟāĻžāϰ āϞāϜāĻŋāϕ⧇ āĻ•āĻ ā§‹āϰ āĻ—āĻžāĻ°ā§āĻĄāϰ⧇āϞāĨ¤
āϏāĻ°ā§āĻŦā§‹āĻšā§āϚ āĻĢāĻžāχāϞ āφāĻ•āĻžāϰ (āφāĻĒāϞ⧋āĻĄ)~ā§Ģ āĻāĻŽāĻŦāĻŋāϟ⧁āϞ⧇āϰ `maxFileSizeBytes` āĻ•āύāĻĢāĻŋāĻ—āĻžāϰ⧇āĻļāύ āĻĻā§āĻŦāĻžāϰāĻž āύāĻŋāĻ°ā§āϧāĻžāϰāĻŋāϤāĨ¤
āĻŦāĻĄāĻŧ āĻŽāύ⧋āϰ⧇āĻĒā§‹ āĻŦāĻž āĻŦāĻžāĻ˛ā§āĻ• āϰāĻŋāĻĢā§āϝāĻžāĻ•ā§āϟāϰ⧇āϰ āϜāĻ¨ā§āϝ, āϝ⧇āϕ⧋āύ⧋ āĻ…āύāϞāĻžāχāύ āϟ⧁āϞ⧇āϰ āωāĻĒāϰ āύāĻŋāĻ°ā§āĻ­āϰ āĻ•āϰāĻžāϰ āĻĒāϰāĻŋāĻŦāĻ°ā§āϤ⧇ āφāĻĒāύāĻžāϰ āϕ⧋āĻĄāĻŦ⧇āϏ⧇ āĻ¸ā§āĻĨāĻžāύ⧀āϝāĻŧāĻ­āĻžāĻŦ⧇ āĻĒā§āϰ⧇āϟāĻŋāϝāĻŧāĻžāϰ āĻŦāĻž āĻĒāĻŋāĻāχāϚāĻĒāĻŋ-āϏāĻŋāĻāϏ-āĻĢāĻŋāĻ•ā§āϏāĻžāϰ āϚāĻžāϞāĻžāύāĨ¤

āĻ—ā§‹āĻĒāύ⧀āϝāĻŧāϤāĻž āĻ“ āύāĻŋāϰāĻžāĻĒāĻ¤ā§āϤāĻž

āĻāχ āϟ⧁āϞāϟāĻŋ āĻ…āĻ¤ā§āϝāĻ¨ā§āϤ āϏāĻ‚āĻŦ⧇āĻĻāύāĻļā§€āϞ āĻĒā§āϰ⧋āĻĄāĻžāĻ•āĻļāύ āϕ⧋āĻĄā§‡āϰ āĻĒāϰāĻŋāĻŦāĻ°ā§āϤ⧇ āĻĻ⧈āύāĻ¨ā§āĻĻāĻŋāύ āĻĄā§‡āϭ⧇āϞāĻĒāĻŽā§‡āĻ¨ā§āϟ āĻ¸ā§āύāĻŋāĻĒ⧇āĻŸā§‡āϰ āϜāĻ¨ā§āϝ āϤ⧈āϰāĻŋāĨ¤

āĻĻāĻŋāĻ•āφāϚāϰāĻŖ
āĻ•ā§āϞāĻžāϝāĻŧ⧇āĻ¨ā§āϟ-āϏāĻžāχāĻĄ āĻĢāϰāĻŽā§āϝāĻžāϟāĻŋāĻ‚āĻŦā§āϰāĻžāωāϜāĻžāϰ⧇āϰ āĻĒā§āϰ⧇āϟāĻŋāϝāĻŧāĻžāϰ āϰāĻžāύāϟāĻžāχāĻŽ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇ āĻĒāĻ›āĻ¨ā§āĻĻāϏāχ āĻĒāĻĨāĨ¤āϏāĻžāϧāĻžāϰāĻŖ āĻ…āĻŦāĻ¸ā§āĻĨāĻžāϝāĻŧ āύ⧇āϟāĻ“āϝāĻŧāĻžāĻ°ā§āĻ• āϜ⧁āĻĄāĻŧ⧇ āϕ⧋āĻĄ āĻĒā§āϰ⧇āϰāĻŖ āĻāĻĄāĻŧāĻžāϝāĻŧāĨ¤
āĻŦā§āϝāĻžāĻ•āĻāĻ¨ā§āĻĄ āĻĢāϞāĻŦā§āϝāĻžāĻ•āϝāĻĻāĻŋ āĻĒāĻŋāĻāχāϚāĻĒāĻŋ āĻĒā§āϞāĻžāĻ—āχāύ āϞ⧋āĻĄ āĻ•āϰāĻž āύāĻž āϝāĻžāϝāĻŧ, āϕ⧋āĻĄ HTTPS āĻāϰ āĻŽāĻžāĻ§ā§āϝāĻŽā§‡ āĻāĻ•āϟāĻŋ āϏ⧁āϰāĻ•ā§āώāĻŋāϤ āĻĢāϰāĻŽā§āϝāĻžāϟāĻŋāĻ‚ āĻāĻ¨ā§āĻĄāĻĒāϝāĻŧ⧇āĻ¨ā§āĻŸā§‡ āĻĒā§āϰ⧇āϰāĻŖ āĻ•āϰāĻž āĻšāϝāĻŧāĨ¤āĻļ⧁āϧ⧁āĻŽāĻžāĻ¤ā§āϰ āĻĢāϰāĻŽā§āϝāĻžāϟāĻŋāĻ‚āϝāĻŧ⧇āϰ āϜāĻ¨ā§āϝ āĻ…āĻ¸ā§āĻĨāĻžāϝāĻŧā§€ āχāύāĻĒ⧁āϟ āĻšāĻŋāϏ⧇āĻŦ⧇ āĻĒā§āϰāĻ•ā§āϰāĻŋāϝāĻŧāĻžāϜāĻžāϤāĨ¤
āϏāĻ‚āϰāĻ•ā§āώāĻŖāĻ•āĻžāρāϚāĻž āχāύāĻĒ⧁āϟ āĻĻā§€āĻ°ā§āϘāĻŽā§‡āϝāĻŧāĻžāĻĻā§€ āϏāĻ‚āϰāĻ•ā§āώāϪ⧇āϰ āωāĻĻā§āĻĻ⧇āĻļā§āϝ āύ⧇āχāĨ¤āĻļ⧁āϧ⧁āĻŽāĻžāĻ¤ā§āϰ āϏāĻŽāĻˇā§āϟāĻŋāĻ—āϤ āĻ¤ā§āϰ⧁āϟāĻŋ/āĻĒāĻžāϰāĻĢāϰāĻŽā§āϝāĻžāĻ¨ā§āϏ āĻŽā§‡āĻŸā§āϰāĻŋāĻ• āϏāĻ‚āĻ—ā§āϰāĻš āĻ•āϰāĻž āĻšāϤ⧇ āĻĒāĻžāϰ⧇āĨ¤
āϏ⧇āϰāĻž āĻ…āύ⧁āĻļā§€āϞāύāϕ⧋āύ⧋ āĻ…āύāϞāĻžāχāύ āĻĢāϰāĻŽā§āϝāĻžāϟāĻžāϰ⧇ āĻ—ā§‹āĻĒāύ āϤāĻĨā§āϝ, āĻ…ā§āϝāĻžāĻ•ā§āϏ⧇āϏ āĻŸā§‹āϕ⧇āύ āĻŦāĻž āĻĒāĻžāϏāĻ“āϝāĻŧāĻžāĻ°ā§āĻĄ āĻĒ⧇āĻ¸ā§āϟ āĻ•āϰāĻŦ⧇āύ āύāĻžāĨ¤āύāĻŋāϰāĻžāĻĒāĻ¤ā§āϤāĻž-āϏāĻ‚āĻŦ⧇āĻĻāύāĻļā§€āϞ āϕ⧋āĻĄ āĻ¸ā§āĻĨāĻžāύ⧀āϝāĻŧ āϟ⧁āϞ āĻāĻŦāĻ‚ CI-āĻ āϰāĻžāϖ⧁āύāĨ¤

āĻ•āĻŽāĻžāĻ¨ā§āĻĄ-āϞāĻžāχāύ āĻĒāĻŋāĻāχāϚāĻĒāĻŋ āĻĢāϰāĻŽā§āϝāĻžāϟāĻŋāĻ‚ (āĻĒā§āϰ⧇āϟāĻŋāϝāĻŧāĻžāϰ āĻ“ āĻĒāĻŋāĻāχāϚāĻĒāĻŋ-āϏāĻŋāĻāϏ-āĻĢāĻŋāĻ•ā§āϏāĻžāϰ)

āϝāĻ–āύ āφāĻĒāύāĻŋ āĻāĻ•āϟāĻŋ āĻĒā§āϰāĻ•āĻ˛ā§āĻĒ⧇āϰ āĻ­āĻŋāϤāϰ⧇ āĻ•āĻžāϜ āĻ•āϰāϛ⧇āύ, āĻĒ⧁āϰ⧋ āϰāĻŋāĻĒā§‹ āϜ⧁āĻĄāĻŧ⧇ āϏāĻžāĻŽāĻžā§āϜāĻ¸ā§āϝāĻĒā§‚āĻ°ā§āĻŖ āĻļ⧈āϞ⧀ āĻĒā§āϰāϝāĻŧā§‹āĻ— āĻ•āϰāϤ⧇ āĻ¸ā§āĻĨāĻžāύ⧀āϝāĻŧ āϟ⧁āϞāϗ⧁āϞāĻŋ āϏāĻ°ā§āĻŦā§‹āĻ¤ā§āϤāĻŽ āωāĻĒāĻžāϝāĻŧāĨ¤

āύ⧋āĻĄ / npm

āĻĒāĻŋāĻāχāϚāĻĒāĻŋ āĻĒā§āϞāĻžāĻ—āχāύ āϏāĻš āĻĒā§āϰ⧇āϟāĻŋāϝāĻŧāĻžāϰ āχāύāĻ¸ā§āϟāϞ āĻ•āϰ⧁āύ

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

āφāĻĒāύāĻžāϰ āĻĒā§āϰāĻ•āĻ˛ā§āĻĒ⧇ āĻĒā§āϰ⧇āϟāĻŋāϝāĻŧāĻžāϰ āĻāĻŦāĻ‚ āĻāϰ āĻĒāĻŋāĻāχāϚāĻĒāĻŋ āĻĒā§āϞāĻžāĻ—āχāύ āϝ⧋āĻ— āĻ•āϰ⧇āĨ¤

āĻāĻ•āϟāĻŋ āĻāĻ•āĻ• āĻĒāĻŋāĻāχāϚāĻĒāĻŋ āĻĢāĻžāχāϞ āĻĢāϰāĻŽā§āϝāĻžāϟ āĻ•āϰ⧁āύ

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

āĻāχ āĻ…āύāϞāĻžāχāύ āϟ⧁āϞ āĻĻā§āĻŦāĻžāϰāĻž āĻŦā§āϝāĻŦāĻšā§ƒāϤ āĻāĻ•āχ āĻļ⧈āϞ⧀ āĻĒā§āϰāϝāĻŧā§‹āĻ— āĻ•āϰ⧇āĨ¤

āĻāĻ•āϟāĻŋ āĻĒā§āϰāĻ•āĻ˛ā§āĻĒ⧇āϰ āϏāĻŽāĻ¸ā§āϤ āĻĒāĻŋāĻāχāϚāĻĒāĻŋ āĻĢāĻžāχāϞ āĻĢāϰāĻŽā§āϝāĻžāϟ āĻ•āϰ⧁āύ

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

āĻĒ⧁āϰ⧋ āϕ⧋āĻĄāĻŦ⧇āϏ āϏāĻžāĻŽāĻžā§āϜāĻ¸ā§āϝāĻĒā§‚āĻ°ā§āĻŖāĻ­āĻžāĻŦ⧇ āĻĢāϰāĻŽā§āϝāĻžāϟ āϰāĻžāϖ⧇āĨ¤

āĻĒāĻŋāĻāχāϚāĻĒāĻŋ-āϏāĻŋāĻāϏ-āĻĢāĻŋāĻ•ā§āϏāĻžāϰ

āĻ•āĻŽā§āĻĒā§‹āϜāĻžāϰ āĻĻāĻŋāϝāĻŧ⧇ āĻ—ā§āϞ⧋āĻŦāĻžāϞāĻŋ āĻĒāĻŋāĻāχāϚāĻĒāĻŋ-āϏāĻŋāĻāϏ-āĻĢāĻŋāĻ•ā§āϏāĻžāϰ āχāύāĻ¸ā§āϟāϞ āĻ•āϰ⧁āύ

composer global require friendsofphp/php-cs-fixer

āφāĻĒāύāĻžāϰ CLI āϟ⧁āϞāĻ•āĻŋāĻŸā§‡ āĻāĻ•āϟāĻŋ āĻļāĻ•ā§āϤāĻŋāĻļāĻžāϞ⧀ PHP-āύāĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āϟ āĻ¸ā§āϟāĻžāχāϞ āĻĢāĻŋāĻ•ā§āϏāĻžāϰ āϝ⧋āĻ— āĻ•āϰ⧇āĨ¤

PSR-12 āύāĻŋāϝāĻŧāĻŽā§‡ āϚāĻžāϞāĻžāύ

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

`src` āĻāϰ āĻ…āϧ⧀āύ⧇ āϏāĻŽāĻ¸ā§āϤ PHP āĻĢāĻžāχāϞ⧇ PSR-12 āĻĒā§āϰāϝāĻŧā§‹āĻ— āĻ•āϰ⧇āĨ¤

āĻĻā§āϰ⧁āϤ āĻāĻ•āĻ•āĻžāϞ⧀āύ āĻĒāϰāĻŋāĻˇā§āĻ•āĻžāϰ⧇āϰ āϜāĻ¨ā§āϝ āĻāχ āĻĒ⧃āĻˇā§āĻ āĻžāϟāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧁āύ, āϤāĻžāϰāĻĒāϰ CI āĻāĻŦāĻ‚ āĻĒā§āϰāĻŋ-āĻ•āĻŽāĻŋāϟ āĻšā§āĻ•āϗ⧁āϞāĻŋāϤ⧇ Prettier āĻŦāĻž PHP-CS-Fixer-āĻāϰ āωāĻĒāϰ āύāĻŋāĻ°ā§āĻ­āϰ āĻ•āϰ⧁āύ āϝāĻžāϤ⧇ āφāĻĒāύāĻžāϰ āĻĒ⧁āϰ⧋ āĻĻāϞ āĻāĻ•āχ āĻ¸ā§āϟāĻžāχāϞ⧇ āĻĨāĻžāϕ⧇āĨ¤

PHP āĻŦāĻŋāωāϟāĻŋāĻĢāĻžāϝāĻŧāĻžāϰ⧇āϰ āϜāĻ¨ā§āϝ āϏāĻžāϧāĻžāϰāĻŖ āĻŦā§āϝāĻŦāĻšāĻžāϰ⧇āϰ āĻ•ā§āώ⧇āĻ¤ā§āϰ

Laravel / Symfony / API āĻŦā§āϝāĻžāĻ•āĻāĻ¨ā§āĻĄ

āϰāĻŋāĻĢā§āϝāĻžāĻ•ā§āϟāϰāĻŋāĻ‚ āĻŦāĻž āϕ⧋āĻĄ āϰāĻŋāĻ­āĻŋāω āĻ•āϰāĻžāϰ āφāϗ⧇ āĻ•āĻ¨ā§āĻŸā§āϰ⧋āϞāĻžāϰ, āϏāĻžāĻ°ā§āĻ­āĻŋāϏ āĻāĻŦāĻ‚ DTO āϗ⧁āϞ⧋ āϗ⧁āĻ›āĻŋāϝāĻŧ⧇ āύāĻŋāύāĨ¤

  • HTTP āĻ•āĻ¨ā§āĻŸā§āϰ⧋āϞāĻžāϰ āĻāĻŦāĻ‚ āĻĢāĻ°ā§āĻŽ āĻšā§āϝāĻžāĻ¨ā§āĻĄāϞāĻžāϰ⧇āϰ āĻĢāϰāĻŽā§āϝāĻžāϟāĻŋāĻ‚ āĻ¸ā§āĻŦāĻžāĻ­āĻžāĻŦāĻŋāĻ• āĻ•āϰ⧁āύāĨ¤
  • āĻĻāϞ āϜ⧁āĻĄāĻŧ⧇ āĻļ⧇āϝāĻŧāĻžāϰ āĻ•āϰāĻž āϏāĻžāĻ°ā§āĻ­āĻŋāϏ āĻ•ā§āϞāĻžāϏ āĻāĻŦāĻ‚ āϰāĻŋāĻĒā§‹āϜāĻŋāϟāϰāĻŋ āϗ⧁āϞ⧋ āĻĒāϰāĻŋāĻˇā§āĻ•āĻžāϰ āĻ•āϰ⧁āύāĨ¤
  • āĻŽāĻžāχāĻ•ā§āϰ⧋āϏāĻžāĻ°ā§āĻ­āĻŋāϏ āĻāĻŦāĻ‚ API āϜ⧁āĻĄāĻŧ⧇ āϏāĻžāĻŽāĻžā§āϜāĻ¸ā§āϝāĻĒā§‚āĻ°ā§āĻŖ āĻ¸ā§āϟāĻžāχāϞ āύāĻŋāĻļā§āϚāĻŋāϤ āĻ•āϰ⧁āύāĨ¤
// Before
class OrderController extends Controller{public function store(Request $request){$order=$this->service->create($request->all());return response()->json($order,201);}}
// After
class OrderController extends Controller
{
  public function store(Request $request)
  {
    $order = $this->service->create($request->all());

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

WordPress āĻ“ āϞ⧇āϗ⧇āϏāĻŋ āϕ⧋āĻĄāĻŦ⧇āϏ

āĻĒ⧁āϰ⧋āύ⧋ PHP 5 / 7 āĻĒā§āϰāĻ•āĻ˛ā§āĻĒāϗ⧁āϞ⧋āϕ⧇ āϏāĻŦāĻ•āĻŋāϛ⧁ āĻĒ⧁āύāϰāĻžāϝāĻŧ āϞāĻŋāϖ⧇ āύāĻž āĻĻāĻŋāϝāĻŧ⧇āχ āφāϧ⧁āύāĻŋāĻ• āĻŽāĻžāύāĻĻāĻŖā§āĻĄā§‡āϰ āĻ•āĻžāĻ›āĻžāĻ•āĻžāĻ›āĻŋ āύāĻŋāϝāĻŧ⧇ āφāϏ⧁āύāĨ¤

  • āĻĄāĻŋāĻŦāĻžāĻ— āĻ•āϰāĻžāϰ āφāϗ⧇ āĻĨāĻŋāĻŽ āĻāĻŦāĻ‚ āĻĒā§āϞāĻžāĻ—āχāύ āϕ⧋āĻĄ āϏ⧁āĻ¨ā§āĻĻāϰ āĻ•āϰ⧁āύāĨ¤
  • āϟāĻŋāωāĻŸā§‹āϰāĻŋāϝāĻŧāĻžāϞ āĻĨ⧇āϕ⧇ āύ⧇āĻ“āϝāĻŧāĻž āĻāϞ⧋āĻŽā§‡āϞ⧋, āĻ•āĻĒāĻŋ-āĻĒ⧇āĻ¸ā§āϟ āĻ•āϰāĻž āĻ¸ā§āύāĻŋāĻĒ⧇āϟ āϗ⧁āϞ⧋ āĻĒāϰāĻŋāĻˇā§āĻ•āĻžāϰ āĻ•āϰ⧁āύāĨ¤
  • āϞ⧇āϗ⧇āϏāĻŋ āĻĢāĻžāχāϞāϗ⧁āϞ⧋ āϧ⧀āϰ⧇ āϧ⧀āϰ⧇ PSR-12 āĻ•āύāϭ⧇āύāĻļāύ⧇āϰ āĻĻāĻŋāϕ⧇ āύāĻŋāϝāĻŧ⧇ āϝāĻžāύāĨ¤

āĻļāĻŋāĻ•ā§āώāĻžāĻĻāĻžāύ āĻ“ āϕ⧋āĻĄ āϰāĻŋāĻ­āĻŋāω

āĻŦā§āϰ⧇āϏ āĻĒā§āϞ⧇āϏāĻŽā§‡āĻ¨ā§āĻŸā§‡āϰ āĻšā§‡āϝāĻŧ⧇ āϞāϜāĻŋāĻ• āĻāĻŦāĻ‚ āφāĻ°ā§āĻ•āĻŋāĻŸā§‡āĻ•āϚāĻžāϰ⧇ āĻĢā§‹āĻ•āĻžāϏ āĻ•āϰāϤ⧇ āĻĢāϰāĻŽā§āϝāĻžāϟāĻŋāĻ‚ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧁āύāĨ¤

  • āĻ›āĻžāĻ¤ā§āϰāĻĻ⧇āϰ āĻĻ⧇āĻ–āĻžāύ āĻ•āĻŋāĻ­āĻžāĻŦ⧇ āϏāĻžāĻŽāĻžā§āϜāĻ¸ā§āϝāĻĒā§‚āĻ°ā§āĻŖ āĻ¸ā§āϟāĻžāχāϞ āĻĒāĻžāĻ āϝ⧋āĻ—ā§āϝāϤāĻž āωāĻ¨ā§āύāϤ āĻ•āϰ⧇āĨ¤
  • āωāĻ¨ā§āύāϤāĻŋāϗ⧁āϞ⧋ āĻšāĻžāχāϞāĻžāχāϟ āĻ•āϰāϤ⧇ āĻĒ⧁āϞ āϰāĻŋāϕ⧋āϝāĻŧ⧇āĻ¸ā§āĻŸā§‡ āφāϗ⧇/āĻĒāϰ⧇ āωāĻĻāĻžāĻšāϰāĻŖ āϏāĻ‚āϝ⧁āĻ•ā§āϤ āĻ•āϰ⧁āύāĨ¤
  • āĻŦā§āϞāĻ— āĻĒā§‹āĻ¸ā§āϟ āĻāĻŦāĻ‚ āĻĄāϕ⧁āĻŽā§‡āĻ¨ā§āĻŸā§‡āĻļāύ⧇ āϕ⧋āĻĄ āĻ¸ā§āϝāĻžāĻŽā§āĻĒāϞāϗ⧁āϞ⧋āϰ āϜāĻ¨ā§āϝ āĻĻā§āϰ⧁āϤ āĻ¸ā§āϝāĻžāύāĻŋāϟāĻŋ āĻšā§‡āĻ• āĻšāĻŋāϏ⧇āĻŦ⧇ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧁āύāĨ¤
// Example exercise: ask students to predict the formatted result
if($user&&$user->isAdmin()){logAction($user,"login");}

❓ Frequently Asked Questions

❓āĻāχ āϟ⧁āϞāϟāĻŋ āĻ•āĻŋ āφāϧ⧁āύāĻŋāĻ• PHP 8 āĻĢāĻŋāϚāĻžāϰ āϏāĻŽāĻ°ā§āĻĨāύ āĻ•āϰ⧇?

āĻšā§āϝāĻžāρāĨ¤ āĻĢāĻ°ā§āĻŽā§āϝāĻžāϟāĻžāϰāϟāĻŋ āϏāĻžāϧāĻžāϰāĻŖ āφāϧ⧁āύāĻŋāĻ• PHP āϏāĻŋāύāĻŸā§āϝāĻžāĻ•ā§āϏ āϏāĻŽāĻ°ā§āĻĨāύ āĻ•āϰ⧇, āϝāĻžāϰ āĻŽāĻ§ā§āϝ⧇ āϟāĻžāχāĻĒ āĻšāĻŋāĻ¨ā§āϟāϏ, āχāωāύāĻŋāϝāĻŧāύ āϟāĻžāχāĻĒāϏ, āĻ•āύāĻ¸ā§āĻŸā§āϰāĻžāĻ•ā§āϟāϰ āĻĒā§āϰāĻŽā§‹āĻļāύ, āĻ…ā§āϝāĻžāĻŸā§āϰāĻŋāĻŦāĻŋāωāϟāϏ, āĻŽā§āϝāĻžāϚ āĻāĻ•ā§āϏāĻĒā§āϰ⧇āĻļāύ āĻāĻŦāĻ‚ āĻ…ā§āϝāĻžāϰ⧋ āĻĢāĻžāĻ‚āĻļāύ āĻ…āĻ¨ā§āϤāĻ°ā§āϭ⧁āĻ•ā§āϤāĨ¤

🔧āφāĻŽāĻŋ āĻ•āĻŋ āĻŸā§āϝāĻžāĻŦ āĻĒā§āϰāĻ¸ā§āĻĨ āĻĒāϰāĻŋāĻŦāĻ°ā§āϤāύ āĻ•āϰāϤ⧇ āĻĒāĻžāϰāĻŋ āĻŦāĻž āĻ¸ā§āĻĒ⧇āϏ⧇āϰ āĻĒāϰāĻŋāĻŦāĻ°ā§āϤ⧇ āĻŸā§āϝāĻžāĻŦ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāϤ⧇ āĻĒāĻžāϰāĻŋ?

āĻ…āĻŦāĻļā§āϝāχāĨ¤ āφāĻĒāύāĻŋ āχāĻ¨ā§āĻĄā§‡āĻ¨ā§āϟ āϏāĻžāχāϜ (1–8) āĻŦ⧇āϛ⧇ āύāĻŋāϤ⧇ āĻĒāĻžāϰ⧇āύ āĻāĻŦāĻ‚ āχāĻ¨ā§āĻĄā§‡āĻ¨ā§āĻŸā§‡āĻļāύ āĻ¸ā§āĻĒ⧇āϏ āύāĻžāĻ•āĻŋ āĻŸā§āϝāĻžāĻŦ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇ āϤāĻž āύāĻŋāĻ°ā§āϧāĻžāϰāĻŖ āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇āύāĨ¤ āĻĢāĻ°ā§āĻŽā§āϝāĻžāϟāĻžāϰ āφāĻĒāύāĻžāϰ āĻĢāĻžāχāϞ⧇ āϏ⧇āχ āϏ⧇āϟāĻŋāĻ‚āϏāϗ⧁āϞāĻŋ āϏāĻžāĻŽāĻžā§āϜāĻ¸ā§āϝāĻĒā§‚āĻ°ā§āĻŖāĻ­āĻžāĻŦ⧇ āĻĒā§āϰāϝāĻŧā§‹āĻ— āĻ•āϰ⧇āĨ¤

📏āϞāĻžāχāύ āĻ°â€ā§āϝāĻžāĻĒāĻŋāĻ‚ āĻ•āĻŋāĻ­āĻžāĻŦ⧇ āĻšā§āϝāĻžāĻ¨ā§āĻĄā§‡āϞ āĻ•āϰāĻž āĻšāϝāĻŧ?

āϞāĻžāχāύāϗ⧁āϞāĻŋ āĻ•āϤāϟāĻž āϚāĻ“āĻĄāĻŧāĻž āĻšāĻ“āϝāĻŧāĻž āωāϚāĻŋāϤ āϤāĻž āύāĻŋāĻ°ā§āĻĻ⧇āĻļ āĻ•āϰāϤ⧇ āĻ°â€ā§āϝāĻžāĻĒ / āϞāĻžāχāύ āĻĻ⧈āĻ°ā§āĻ˜ā§āϝ āĻ…āĻĒāĻļāύ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧁āύāĨ¤ 0 āϏ⧇āϟ āĻ•āϰāĻž āĻāĻ•āϟāĻŋ āϖ⧁āĻŦ āĻŦāĻĄāĻŧ āĻ…āĻ­ā§āϝāĻ¨ā§āϤāϰ⧀āĻŖ āϏ⧀āĻŽāĻž āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇ āĻ•āĻžāĻ°ā§āϝāĻ•āϰāĻ­āĻžāĻŦ⧇ āĻ°â€ā§āϝāĻžāĻĒāĻŋāĻ‚ āύāĻŋāĻˇā§āĻ•ā§āϰāĻŋāϝāĻŧ āĻ•āϰ⧇āĨ¤

🔐āφāĻŽāĻžāϰ āϕ⧋āĻĄ āĻ•āĻŋ āφāĻĒāύāĻžāϰ āϏāĻžāĻ°ā§āĻ­āĻžāϰ⧇ āφāĻĒāϞ⧋āĻĄ āĻšāϝāĻŧ?

āϟ⧁āϞāϟāĻŋ Prettier āĻāϰ āĻŽāĻžāĻ§ā§āϝāĻŽā§‡ āĻŦā§āϰāĻžāωāϜāĻžāϰ⧇ āĻĢāϰāĻŽā§āϝāĻžāϟāĻŋāĻ‚ āĻĒāĻ›āĻ¨ā§āĻĻ āĻ•āϰ⧇āĨ¤ āϝāĻĻāĻŋ āφāĻĒāύāĻžāϰ āĻĒāϰāĻŋāĻŦ⧇āĻļ⧇ PHP āχāĻžā§āϜāĻŋāύ āϞ⧋āĻĄ āĻ•āϰāĻž āύāĻž āϝāĻžāϝāĻŧ, āϤāĻŦ⧇ āĻāϟāĻŋ āĻĢāϰāĻŽā§āϝāĻžāϟāĻŋāĻ‚āϝāĻŧ⧇āϰ āϜāĻ¨ā§āϝ āĻāĻ•āϟāĻŋ āϏ⧁āϰāĻ•ā§āώāĻŋāϤ API-āϤ⧇ āĻĢāĻŋāϰ⧇ āϝāĻžāϝāĻŧāĨ¤ āωāĻ­āϝāĻŧ āĻ•ā§āώ⧇āĻ¤ā§āϰ⧇āχ, āχāύāĻĒ⧁āϟ āĻ…āĻ¸ā§āĻĨāĻžāϝāĻŧā§€ āĻšāĻ“āϝāĻŧāĻžāϰ āωāĻĻā§āĻĻ⧇āĻļā§āϝ⧇ āĻāĻŦāĻ‚ āĻĻā§€āĻ°ā§āϘāĻŽā§‡āϝāĻŧāĻžāĻĻā§€ āϏāĻ‚āϰāĻ•ā§āώāĻŖ āĻ•āϰāĻž āĻšāϝāĻŧ āύāĻž, āϤāĻŦ⧇ āϤāĻžāϰāĻĒāϰāĻ“ āφāĻĒāύāĻžāϰ āĻ—ā§‹āĻĒāύ āĻŦāĻž āĻ…āĻ¤ā§āϝāĻ¨ā§āϤ āϏāĻ‚āĻŦ⧇āĻĻāύāĻļā§€āϞ āĻĄā§‡āϟāĻž āĻĒ⧇āĻ¸ā§āϟ āĻ•āϰāĻž āĻāĻĄāĻŧāĻžāύ⧋ āωāϚāĻŋāϤāĨ¤

🧮āĻĢāϰāĻŽā§āϝāĻžāϟāĻŋāĻ‚ āĻ•āĻŋ āφāĻŽāĻžāϰ PHP āϕ⧋āĻĄā§‡āϰ āϚāϞāύ āĻĒāϰāĻŋāĻŦāĻ°ā§āϤāύ āĻ•āϰāĻŦ⧇?

āĻĢāϰāĻŽā§āϝāĻžāϟāĻžāϰ āĻļ⧁āϧ⧁ āϞ⧇āφāωāϟ āĻĒāϰāĻŋāĻŦāĻ°ā§āϤāύ āĻ•āĻ°ā§‡â€”āĻšā§‹āϝāĻŧāĻžāχāϟāĻ¸ā§āĻĒ⧇āϏ, āχāĻ¨ā§āĻĄā§‡āĻ¨ā§āĻŸā§‡āĻļāύ, āϞāĻžāχāύ āĻŦā§āϰ⧇āĻ• āĻāĻŦāĻ‚ āĻ…āύ⧁āϰ⧂āĻĒāĨ¤ āĻāϟāĻŋ āχāĻšā§āĻ›āĻžāĻ•ā§ƒāϤāĻ­āĻžāĻŦ⧇ āĻļāĻŦā§āĻĻāĻžāĻ°ā§āĻĨ āĻĒāϰāĻŋāĻŦāĻ°ā§āϤāύ āĻ•āϰ⧇ āύāĻžāĨ¤ āϤāĻŦ⧇, āĻŦāĻĄāĻŧ āĻ¸ā§āĻŦāϝāĻŧāĻ‚āĻ•ā§āϰāĻŋāϝāĻŧ āϰāĻŋāĻĢā§āϝāĻžāĻ•ā§āϟāϰ⧇āϰ āĻĒāϰ āϏāĻ°ā§āĻŦāĻĻāĻž āφāĻĒāύāĻžāϰ āĻŸā§‡āĻ¸ā§āϟ āĻ¸ā§āϝ⧁āϟ āϚāĻžāϞāĻžāύāĨ¤

âš™ī¸āĻ•āĻŋāĻ­āĻžāĻŦ⧇ āφāĻŽāĻžāϰ āĻĒā§āϰāĻ•āĻ˛ā§āĻĒ⧇ āĻāĻ•āχ āĻ¸ā§āϟāĻžāχāϞ āĻĒā§āϰāϝāĻŧā§‹āĻ— āĻ•āϰāĻŦ?

āφāĻĒāύāĻžāϰ āĻĒā§āϰāĻ•āĻ˛ā§āĻĒ āĻāĻŦāĻ‚ CI āĻĒāĻžāχāĻĒāϞāĻžāχāύ⧇ Prettier with PHP plugin āĻŦāĻž PHP-CS-Fixer āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧁āύāĨ¤ āĻāχ āĻ…āύāϞāĻžāχāύ āϟ⧁āϞāϟāĻŋ āĻĻā§āϰ⧁āϤ āĻ āĻŋāĻ• āĻ•āϰāĻžāϰ āϜāĻ¨ā§āϝ āĻāĻ•āϟāĻŋ āϏ⧁āĻŦāĻŋāϧāĻžāϜāύāĻ• āĻĢā§āϰāĻ¨ā§āϟ-āĻāĻ¨ā§āĻĄ; āĻ¸ā§āĻĨāĻžāύ⧀āϝāĻŧ āϟ⧁āϞāĻŋāĻ‚ āĻŦ⧃āĻšā§Ž āĻĒāϰāĻŋāϏāϰ⧇ āĻ¸ā§āϟāĻžāχāϞ āĻĒā§āϰāϝāĻŧā§‹āϗ⧇āϰ āϜāĻ¨ā§āϝ āĻ­āĻžāϞāĨ¤

Pro Tips

Best Practice

āφāĻĒāύāĻžāϰ CI āĻĒāĻžāχāĻĒāϞāĻžāχāύ⧇ āĻāĻ•āϟāĻŋ āĻĢāϰāĻŽā§āϝāĻžāϟāĻŋāĻ‚ āϧāĻžāĻĒ (Prettier āĻŦāĻž PHP-CS-Fixer) āϝ⧋āĻ— āĻ•āϰ⧁āύ āϝāĻžāϤ⧇ āϕ⧋āύ⧋ āĻ…āĻĢāϰāĻŽā§āϝāĻžāĻŸā§‡āĻĄ PHP āĻ•āĻ–āύ⧋ `main`-āĻ āĻĒ⧌āρāĻ›āĻžāϤ⧇ āύāĻž āĻĒāĻžāϰ⧇āĨ¤

Best Practice

āĻāĻ•āϟāĻŋ āĻĒ⧁āϞ āϰāĻŋāϕ⧋āϝāĻŧ⧇āĻ¸ā§āϟ āĻ–ā§‹āϞāĻžāϰ āφāϗ⧇ āĻĢāϰāĻŽā§āϝāĻžāϟāĻžāϰ āϚāĻžāϞāĻžāύ āϝāĻžāϤ⧇ āĻĄāĻŋāĻĢāϗ⧁āϞāĻŋ āφāϚāϰāĻŖ āĻĒāϰāĻŋāĻŦāĻ°ā§āϤāύ⧇ āϕ⧇āĻ¨ā§āĻĻā§āϰ⧀āĻ­ā§‚āϤ āĻĨāĻžāϕ⧇, āĻšā§‹āϝāĻŧāĻžāχāϟāĻ¸ā§āĻĒ⧇āϏ⧇ āύāϝāĻŧāĨ¤

Best Practice

āĻŦāĻĄāĻŧ āϰāĻŋāĻĢā§āϝāĻžāĻ•ā§āϟāϰ⧇āϰ āϜāĻ¨ā§āϝ, āϏāĻŽā§āĻĒā§‚āĻ°ā§āĻŖ āĻĒā§āϰāĻ•āĻ˛ā§āĻĒāϟāĻŋ āĻāĻ•āĻŦāĻžāϰ āĻāĻ•āϟāĻŋ āύāĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āϟ āĻŦā§āϰāĻžāĻžā§āĻšā§‡ āĻĢāϰāĻŽā§āϝāĻžāϟ āĻ•āϰ⧁āύ, āĻāϟāĻŋ āĻŽāĻžāĻ°ā§āϜ āĻ•āϰ⧁āύ, āϤāĻžāϰāĻĒāϰ āφāϞāĻžāĻĻāĻž PR-āĻ āϝ⧌āĻ•ā§āϤāĻŋāĻ• āĻĒāϰāĻŋāĻŦāĻ°ā§āϤāύ āĻ•āϰ⧁āύāĨ¤

Best Practice

āĻ…āύāϞāĻžāχāύ āϟ⧁āϞāϗ⧁āϞāĻŋāϕ⧇ āĻļ⧇āϝāĻŧāĻžāĻ°ā§āĻĄ āϟāĻžāĻ°ā§āĻŽāĻŋāύāĻžāϞ⧇āϰ āĻŽāϤ⧋ āĻŦāĻŋāĻŦ⧇āϚāύāĻž āĻ•āϰ⧁āύ: āϕ⧋āύ⧋ āĻ“āϝāĻŧ⧇āĻŦ āĻĢāĻ°ā§āĻŽā§‡ āĻĒā§āϰ⧋āĻĄāĻžāĻ•āĻļāύ āϏāĻŋāĻ•ā§āϰ⧇āϟ āĻāĻŦāĻ‚ āĻ…āĻ­ā§āϝāĻ¨ā§āϤāϰ⧀āĻŖ āϕ⧀ āĻĒ⧇āĻ¸ā§āϟ āĻ•āϰāĻž āĻāĻĄāĻŧāĻŋāϝāĻŧ⧇ āϚāϞ⧁āύāĨ¤

Additional Resources

Other Tools