⊗ppOpNsCA 104 of 107 menu

Nama Samaran Kelas untuk Ruang Nama dalam OOP dalam PHP

Katakan kita mempunyai dua kelas Data, yang tergolong dalam ruang nama yang berbeza. Katakan dalam kelas tertentu kita memerlukan objek dari kedua-dua kelas ini:

<?php namespace Project; class Test { public function __construct() { $data1 = new \Core\Users\Data; // mencipta objek $data2 = new \Core\Admin\Data; // mencipta objek } } ?>

Katakan kita ingin memudahkan panggilan kelas melalui perintah use. Dalam kes ini, kita akan menghadapi masalah: kedua-dua kelas mempunyai nama Data, ini bermakna kita akan mempunyai konflik nama:

<?php namespace Project; // Akan berlaku konflik nama: use \Core\Users\Data; // sambungkan kelas pertama use \Core\Admin\Data; // sambungkan kelas kedua class Test { public function __construct() { $data1 = new Data; $data2 = new Data; } } ?>

Untuk menyelesaikan masalah ini, terdapat perintah khas as, yang membolehkan kita menetapkan nama samaran kepada kelas yang disambungkan - nama, di mana kelas ini akan boleh diakses dalam fail ini. Mari kami namakan semula kelas Data kami:

<?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; } } ?>

Permudahkan kod berikut dengan menggunakan use:

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

Permudahkan kod berikut dengan menggunakan use:

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