⊗ppOpNsCU 101 of 107 menu

Arahan use dan Ruang Nama dalam OOP dalam PHP

Katakan kita mempunyai kelas Data berikut:

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

Katakan juga terdapat kelas Page, yang mencipta objek kelas Data di dalamnya:

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

Seperti yang anda lihat, kedua-dua kelas kami berada dalam ruang nama yang berbeza sama sekali, oleh itu panggilan kelas Data tidak boleh dipermudahkan, seperti yang kita lakukan dalam pelajaran sebelumnya. Walau bagaimanapun, panggilan ini sangat panjang dan menyusahkan, kerana dalam setiap panggilan kelas Data perlu menyatakan ruang namanya yang panjang.

Untuk menyelesaikan masalah seperti ini, terdapat arahan khas use. Dengan menggunakan arahan ini, cukup untuk menyambungkan kelas sekali dengan nama penuhnya, dan selepas itu kelas ini boleh diakses hanya dengan nama kelasnya. Lihat contoh:

<?php namespace Users; use \Core\Admin\Data; // sambungkan kelas class Page extends Controller { public function __construct() { $data1 = new Data('1'); // panggil hanya dengan nama $data2 = new Data('2'); // panggil hanya dengan nama } } ?>

Permudahkan kod berikut dengan menggunakan use:

<?php namespace Project; class Test { public function __construct() { // Cipta 3 objek daripada satu kelas: $data1 = new \Core\Users\Data('user1'); $data2 = new \Core\Users\Data('user3'); $data3 = new \Core\Users\Data('user3'); } } ?>

Diberi kelas berikut:

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

Permudahkan kod pewarisan kelas dengan menggunakan arahan use.

msesuzlidit