Thuta Learning
PHP
AdvancedProgrammingbeginner

Namespaces, Composer & Autoloading

ဒီခန်းပြီးရင် ဘာတတ်သွားမလဲ

  • Namespaces, Composer & Autoloading ရဲ့PHP runtime နဲ့web behavior ကိုရှင်းပြနိုင်ရန်
  • Normal, boundary, invalid နဲ့failure cases စမ်းနိုင်ရန်
  • Secure, maintainable PHP code ရေးနိုင်ရန်

Composer ကlocked dependencies ကိုresolve လုပ်ပြီးnamespaces ကိုsource directories သို့map လုပ်ပေးပါတယ်။

ပိုပြီးနားလည်ထားရမယ့် အချက်

Namespaces ကcode names ကိုခွဲပြီးComposer ကdependency resolution, lockfile နဲ့PSR-4 autoloading ပေးပါတယ်။ Application project တွင်`composer.lock` ကိုcommit လုပ်ပြီးproduction မှာdeterministic `install` သုံးပါ။

လက်တွေ့မှာ ဘယ်လိုအသုံးချမလဲ

Namespaces, Composer & Autoloading example ကိုnormal, boundary, invalid နဲ့failure inputs ဖြင့်run/test လုပ်ပြီး output, warnings, exceptions နဲ့side effects ကိုမှတ်တမ်းတင်ပါ။

ဒီသင်ခန်းစာပြီးရင်

json
{
  "require": { "php": "^8.4 || ^8.5" },
  "autoload": { "psr-4": { "App\\": "src/" } }
}
You should see
Composer generates vendor/autoload.php

ကိုယ်တိုင်စမ်းကြည့်ရန်

Namespaces, Composer & Autoloading example ကိုnormal, boundary, invalid နဲ့failure inputs ဖြင့်run/test လုပ်ပြီး output, warnings, exceptions နဲ့side effects ကိုမှတ်တမ်းတင်ပါ။

Security/Common Mistake သတိပေးချက်

Production မှာ`composer update` run လုပ်ခြင်းကdependency versions မမျှော်လင့်ဘဲပြောင်းနိုင်ပါတယ်။

Composer Basic Usage and AutoloadingComposer

ဒီနေရာမှာ လူအများမှားတတ်တယ်

  • Production မှာ`composer update` run လုပ်ခြင်းကdependency versions မမျှော်လင့်ဘဲပြောင်းနိုင်ပါတယ်။
  • Sample output တစ်ခုမှန်ရုံဖြင့် input, output, authorization နဲ့failure paths အားလုံးမှန်ပြီဟုယူဆခြင်း။

လက်တွေ့လေ့ကျင့်ခန်း

Namespaces, Composer & Autoloading example ကိုnormal, boundary, invalid နဲ့failure inputs ဖြင့်run/test လုပ်ပြီး output, warnings, exceptions နဲ့side effects ကိုမှတ်တမ်းတင်ပါ။

You'll know it worked when: App classes autoload from src/.