⊗ppOpNsCU 101 of 107 menu

PHP OOP တွင် use command နှင့် Namespace များ

ကျွန်ုပ်တို့မှာ အောက်ပါ Data class ရှိသည်ဆိုပါစို့ Data:

<?php namespace \Core\Admin; class Data { public function __construct($num) { } } ?>

ထို့အပြင် Page class ရှိပြီး ၎င်းအတွင်းမှ Data class objects တွေ ဖန်တီးတယ်ဆိုပါစို့ Page:

<?php namespace Users; class Page { public function __construct() { $data1 = new \Core\Admin\Data('1'); $data2 = new \Core\Admin\Data('2'); } } ?>

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

ဒီလိုပြဿနာမျိုးကိုဖြေရှင်းဖို့အတွက် အထူး use command ရှိပါတယ် use။ ဒီ command ကိုသုံးပြီး class တစ်ခုကို သူ့ရဲ့အပြည့်အစုံနာမည်နဲ့ တစ်ခါချိတ်ဆက်လိုက်ရုံနဲ့ ဒီကနေ့ပြီးတော့ class ကိုရိုးရှင်းတဲ့ class name နဲ့ပဲ ခေါ်ဆိုနိုင်မှာဖြစ်ပါတယ်။ ဥပမာကိုကြည့်ပါ:

<?php namespace Users; use \Core\Admin\Data; // class ကိုချိတ်ဆက်ပါ class Page extends Controller { public function __construct() { $data1 = new Data('1'); // ရိုးရှင်းတဲ့နာမည်နဲ့ခေါ်ပါ $data2 = new Data('2'); // ရိုးရှင်းတဲ့နာမည်နဲ့ခေါ်ပါ } } ?>

အောက်ပါကုဒ်ကို use သုံးပြီး ရိုးရှင်းအောင်လုပ်ပါ:

<?php namespace Project; class Test { public function __construct() { // class တစ်ခုတည်းရဲ့ object ၃ ခုကိုဖန်တီးပါ: $data1 = new \Core\Users\Data('user1'); $data2 = new \Core\Users\Data('user3'); $data3 = new \Core\Users\Data('user3'); } } ?>

အောက်ပါ class များပေးထားသည်:

<?php namespace Core\Admin; class Controller { } ?>
<?php namespace Users; class Page extends \Core\Admin\Controller { } ?>

Class ကို အမွေဆက်ခံတဲ့ကုဒ်ကို use command သုံးပြီး ရိုးရှင်းအောင်လုပ်ပါ။

မြန်မာ
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
ဝက်ဘ်ဆိုက် လုပ်ဆောင်ခြင်း၊ ဆန်းစစ်လေ့လာခြင်းနှင့် ပုဂ္ဂလိကပြုပြင်ခြင်းအတွက် ကျွန်ုပ်တို့သည် cookie များကို အသုံးပြုပါသည်။ ဒေတာများကို ပြုပြင်ခြင်းသည် ကိုယ်ရေးကိုယ်တာ မူဝါဒအတိုင်း ဖြစ်ပါသည်။
အားလုံးလက်ခံရန် ပြင်ဆင်ရန် ငြင်းပယ်ရန်