⊗ppOpNsCU 101 of 107 menu

คำสั่ง use และ namespace ใน OOP ใน PHP

สมมติว่าเรามีคลาส Data ต่อไปนี้:

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

และสมมติว่ามีคลาส Page ซึ่งสร้างอ็อบเจ็กต์ของคลาส Data ภายใน:

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

ดังที่คุณเห็น คลาสทั้งสองของเราอยู่ใน namespace ที่ต่างกันโดยสิ้นเชิง ดังนั้นการเรียกใช้คลาส Data จึงไม่สามารถทำให้ง่ายได้ เหมือนที่เราทำในบทเรียนก่อนหน้า อย่างไรก็ตาม การเรียกใช้นี้ยาวและไม่สะดวกมาก เพราะในแต่ละครั้งที่เรียกคลาส Data ต้องระบุ namespace ที่ยาวของมัน

เพื่อแก้ปัญหาประเภทนี้ มีคำสั่งพิเศษชื่อ use ด้วยคำสั่งนี้เพียงแค่ต่อคลาสด้วยชื่อเต็มของมันหนึ่งครั้ง และหลังจากนั้นคุณจะสามารถอ้างถึงคลาสนี้ด้วยชื่อคลาสเพียงอย่างเดียว ดูตัวอย่าง:

<?php namespace Users; use \Core\Admin\Data; // ต่อคลาส class Page extends Controller { public function __construct() { $data1 = new Data('1'); // เรียกง่ายๆ ด้วยชื่อ $data2 = new Data('2'); // เรียกง่ายๆ ด้วยชื่อ } } ?>

ทำให้โค้ดต่อไปนี้ง่ายขึ้นโดยใช้ use:

<?php namespace Project; class Test { public function __construct() { // สร้างอ็อบเจ็กต์ 3 อันของคลาสเดียวกัน: $data1 = new \Core\Users\Data('user1'); $data2 = new \Core\Users\Data('user3'); $data3 = new \Core\Users\Data('user3'); } } ?>

กำหนดคลาสต่อไปนี้:

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

ทำให้โค้ดการสืบทอดคลาสง่ายขึ้น โดยใช้คำสั่ง use

ไทย
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣTürkmenTürkçeЎзбекOʻzbekTiếng Việt
เราใช้คุกกี้สำหรับการทำงานของเว็บไซต์ การวิเคราะห์ และการปรับเนื้อหาให้เหมาะสมส่วนบุคคล การประมวลผลข้อมูลเกิดขึ้นตาม นโยบายความเป็นส่วนตัว.
ยอมรับทั้งหมด ปรับแต่ง ปฏิเสธ