PHP ရှိ OOP တွင် namespace များအတွင်း ဆက်နွယ်သော လမ်းကြောင်းများ
ဖိုင်အမည် index.php တွင်
အောက်ပါခေါ်ဆိုမှုဖြစ်ပါစေ။
<?php
namespace Admin\Data;
new \Core\Controller;
?>
သင်သိပြီးဖြစ်သည့်အတိုင်း၊ class တစ်ခုကို ရည်ညွှန်းသည့်အခါ ၎င်း၏ namespace ၏ ရှေ့တွင် နောက်ပြန်စောင်းတစ်ခုရေးရန် လိုအပ်သည်။ တကယ်တော့ ဒါက မလိုအပ်ပါဘူး။ ထိုစောင်းကို မရေးခဲ့ပါက၊ ခေါ်ဆိုသည့် namespace ကို လက်ရှိ namespace နှင့် နှိုင်းယှဉ်၍ တွက်ချက်သွားမည်ဖြစ်သည်။ ဥပမာကို ကြည့်ပါ။
<?php
namespace Admin\Data;
new Core\Controller; // \Admin\Data\Core\Controller နှင့် ညီမျှသည်
?>
class နှစ်ခုကို ပေးထားသည်။
<?php
namespace Modules\Shop\Core;
class Cart
{
}
?>
<?php
namespace Modules\Shop;
class UserCart extends \Modules\Shop\Core\Cart
{
}
?>
ကျွန်ုပ်တို့၏ class များ၏ namespace များတွင် ကိုက်ညီသော အပိုင်းရှိသည်ကို ထည့်သွင်းစဉ်းစားပြီး class အမွေဆက်ခံခြင်းအတွက် ကုဒ်ကို ရိုးရှင်းအောင်ပြုလုပ်ပါ။
class နှစ်ခုကို ပေးထားသည်။
<?php
namespace Core\Data;
class Controller
{
}
?>
<?php
namespace Core\Data;
class Model
{
}
?>
ဖိုင် index.php ထဲတွင် ဤ class များ၏ object များကို
ဤသို့ဖန်တီးထားသည်။
<?php
namespace Core\Data;
$controller = new \Core\Data\Controller;
$model = new \Core\Data\Model;
?>
ကျွန်ုပ်တို့၏ class များ၏ object များ ဖန်တီးရာတွင် ရှိသော namespace ကို ထည့်သွင်းစဉ်းစားပြီး object ဖန်တီးခြင်းအတွက် ကုဒ်ကို ရိုးရှင်းအောင်ပြုလုပ်ပါ။