⊗ppOpNsCU 101 of 107 menu

Câu lệnh use và không gian tên trong OOP PHP

Giả sử chúng ta có lớp Data sau:

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

Giả sử cũng có lớp Page, tạo bên trong nó các đối tượng của lớp Data:

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

Như bạn thấy, cả hai lớp của chúng ta nằm trong các không gian tên hoàn toàn khác nhau, vì vậy không thể đơn giản hóa các lời gọi đến lớp Data, giống như chúng ta đã làm trong bài học trước. Tuy nhiên, những lời gọi này rất dài và bất tiện, vì trong mỗi lần gọi lớp Data phải chỉ ra không gian tên dài của nó.

Để giải quyết vấn đề tương tự tồn tại một câu lệnh đặc biệt use. Với sự trợ giúp của câu lệnh này chỉ cần kết nối lớp một lần bằng tên đầy đủ của nó, và sau đó có thể tham chiếu đến lớp này đơn giản bằng tên lớp. Xem ví dụ:

<?php namespace Users; use \Core\Admin\Data; // kết nối lớp class Page extends Controller { public function __construct() { $data1 = new Data('1'); // gọi đơn giản bằng tên $data2 = new Data('2'); // gọi đơn giản bằng tên } } ?>

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

<?php namespace Project; class Test { public function __construct() { // Tạo 3 đối tượng của một lớp: $data1 = new \Core\Users\Data('user1'); $data2 = new \Core\Users\Data('user3'); $data3 = new \Core\Users\Data('user3'); } } ?>

Cho các lớp sau:

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

Đơn giản hóa mã kế thừa lớp, áp dụng câu lệnh use.

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