# PHP 8.2 Upgrade Notes

ဒီ package ကို cPanel default PHP **8.2** တွင် အသုံးပြုနိုင်ရန် compatibility ပြင်ဆင်ထားပါသည်။

## ပြောင်းလဲထားသော အဓိကအချက်များ

| အပိုင်း | ပြောင်းလဲချက် |
|---|---|
| `composer.json` | PHP requirement ကို `>=8.1` အဖြစ် သတ်မှတ်ပြီး PHP 8.2 compatible dependency versions ထည့်သွင်းထားသည်။ |
| `twig/twig` | v2.5.0 မှ **v3.24.0** သို့ upgrade လုပ်ထားသည်။ |
| `phpmailer/phpmailer` | v6.0.6 မှ **v6.12.0** သို့ upgrade လုပ်ထားသည်။ |
| `app/init.php` | Twig 3 namespace class များဖြစ်သည့် `\Twig\Loader\FilesystemLoader` နှင့် `\Twig\Environment` ကို အသုံးပြုရန် ပြင်ထားသည်။ |
| `app/controller/payment.php` | PHP 8 တွင် removed ဖြစ်သော `each()` loop ကို `foreach()` ဖြင့် ပြောင်းထားသည်။ |
| `lib/PaypalIPN.php` | PHP 8 တွင် မရှိတော့သော `get_magic_quotes_gpc()` logic ကို ဖယ်ရှားပြီး POST data ကို safe way ဖြင့် encode လုပ်ထားသည်။ |
| `composer.lock` နှင့် `vendor/` | Updated dependency versions များနှင့် ကိုက်ညီအောင် regenerate/update လုပ်ထားသည်။ |

## Validation Result

| စစ်ဆေးမှု | ရလဒ် |
|---|---|
| Project PHP syntax lint (`app`, `admin`, `lib`) | Parse/Fatal error မတွေ့ပါ။ |
| Removed PHP function scan | `each()`, `get_magic_quotes_gpc()`, `create_function()`, `ereg()` စသည့် PHP 8 removed calls မတွေ့ပါ။ |
| Twig/PHPMailer smoke test | Passed: Twig rendering နှင့် PHPMailer autoload OK ဖြစ်သည်။ |
| Composer audit | `No security vulnerability advisories found.` |

## cPanel ထဲတင်သည့်အခါ

cPanel တွင် default PHP version ကို 8.2 သတ်မှတ်ထားပြီးသားဆိုပါက `.htaccess` ထဲတွင် PHP 7.4 handler မတွေ့သောကြောင့် ထပ်မပြင်ရန်လိုပါ။ Upload ပြီးပါက `composer.json`, `composer.lock`, `vendor/` folder အားလုံးကို တစ်ပြိုင်နက်တည်း ထည့်သွင်းပါ။

> အရေးကြီးချက်: Database credentials ပါသော `app/config.php` ကို မူလ server setting နှင့်ကိုက်အောင် ပြန်စစ်ပါ။ Payment gateway API keys များကို production server ပေါ်တွင်စစ်ပြီးမှ live mode အသုံးပြုပါ။
