PHP ရှိ OOP တွင် namespace များအတွင်း ဆက်နွယ်သော လမ်းကြောင်းများ

ဖိုင်အမည် index.php တွင် အောက်ပါခေါ်ဆိုမှုဖြစ်ပါစေ။

index.php<?php
  namespace Admin\Data;
  
  new \Core\Controller;
?>

သင်သိပြီးဖြစ်သည့်အတိုင်း၊ class တစ်ခုကို ရည်ညွှန်းသည့်အခါ ၎င်း၏ namespace ၏ ရှေ့တွင် နောက်ပြန်စောင်းတစ်ခုရေးရန် လိုအပ်သည်။ တကယ်တော့ ဒါက မလိုအပ်ပါဘူး။ ထိုစောင်းကို မရေးခဲ့ပါက၊ ခေါ်ဆိုသည့် namespace ကို လက်ရှိ namespace နှင့် နှိုင်းယှဉ်၍ တွက်ချက်သွားမည်ဖြစ်သည်။ ဥပမာကို ကြည့်ပါ။

index.php<?php
  namespace Admin\Data;
  
  new Core\Controller; // \Admin\Data\Core\Controller နှင့် ညီမျှသည်
?>
Задание 1

class နှစ်ခုကို ပေးထားသည်။

php<?php
  namespace Modules\Shop\Core;
  
  class Cart
  {
    
  }
?>
php<?php
  namespace Modules\Shop;
  
  class UserCart extends \Modules\Shop\Core\Cart
  {
    
  }
?>

ကျွန်ုပ်တို့၏ class များ၏ namespace များတွင် ကိုက်ညီသော အပိုင်းရှိသည်ကို ထည့်သွင်းစဉ်းစားပြီး class အမွေဆက်ခံခြင်းအတွက် ကုဒ်ကို ရိုးရှင်းအောင်ပြုလုပ်ပါ။

Задание 2

class နှစ်ခုကို ပေးထားသည်။

php<?php
  namespace Core\Data;
  
  class Controller
  {
    
  }
?>
php<?php
  namespace Core\Data;
  
  class Model
  {
    
  }
?>

ဖိုင် index.php ထဲတွင် ဤ class များ၏ object များကို ဤသို့ဖန်တီးထားသည်။

index.php<?php
  namespace Core\Data;
  
  $controller = new \Core\Data\Controller;
  $model      = new \Core\Data\Model;
?>

ကျွန်ုပ်တို့၏ class များ၏ object များ ဖန်တီးရာတွင် ရှိသော namespace ကို ထည့်သွင်းစဉ်းစားပြီး object ဖန်တီးခြင်းအတွက် ကုဒ်ကို ရိုးရှင်းအောင်ပြုလုပ်ပါ။