⊗ppOpNsCA 104 of 107 menu

Bí danh lớp cho không gian tên trong OOP PHP

Giả sử chúng ta có hai lớp Data, thuộc về các không gian tên khác nhau. Giả sử trong một lớp nào đó chúng ta cần các đối tượng của cả hai lớp này:

<?php namespace Project; class Test { public function __construct() { $data1 = new \Core\Users\Data; // tạo đối tượng $data2 = new \Core\Admin\Data; // tạo đối tượng } } ?>

Giả sử chúng ta quyết định đơn giản hóa việc gọi lớp thông qua lệnh use. Trong trường hợp này chúng ta sẽ gặp phải vấn đề: cả hai lớp đều có tên Data, điều này có nghĩa là chúng ta sẽ có xung đột tên:

<?php namespace Project; // Sẽ có xung đột tên: use \Core\Users\Data; // kết nối lớp đầu tiên use \Core\Admin\Data; // kết nối lớp thứ hai class Test { public function __construct() { $data1 = new Data; $data2 = new Data; } } ?>

Để giải quyết vấn đề này tồn tại một lệnh đặc biệt as, cho phép đặt bí danh cho lớp được kết nối - tên mà lớp này sẽ có thể truy cập được trong tệp này. Hãy thực hiện đổi tên các lớp Data của chúng ta:

<?php namespace Project; use \Core\Users\Data as UsersData; use \Core\Admin\Data as AdminData; class Test { public function __construct() { $data1 = new UsersData; $data2 = new AdminData; } } ?>

Đơn giản hóa mã sau bằng cách sử dụng use:

<?php namespace Project; class Test { public function __construct() { $pageController = new \Resource\Controller\Page; $pageModel = new \Resource\Model\Page; } } ?>

Đơn giản hóa mã sau bằng cách sử dụng use:

<?php namespace Project\Data; class Test { public function __construct() { $pageController = new \Project\Data\Controller\Page; $pageModel = new \Project\Data\Model\Page; } } ?>
Tiếng Việt
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ʻzbek
Chúng tôi sử dụng cookie để vận hành trang web, phân tích và cá nhân hóa. Việc xử lý dữ liệu được thực hiện tuân theo Chính sách bảo mật.
chấp nhận tất cả tùy chỉnh từ chối