Rumah > Soal Jawab > teks badan
Kod di bawah fail Tool.class.php ialah:
ruang nama Alat Syarikat;
kelas Alat{
}
Soalan saya ialah mengapa jika anda menggunakan kelas Alat dalam fail lain, anda mesti menulis seperti ini: gunakan CompanyToolTool
Saya fikir sudah cukup untuk menulis menggunakan CompanyTool (apa yang saya faham bermakna anda boleh menggunakan mana-mana kelas dalam ruang ini).
Saya harap semua orang boleh beritahu saya, terima kasih.
巴扎黑2017-06-06 09:55:57
C++ mempunyai apa yang anda mahukanusing namespace xxx
.
Mengapa PHP tidak memperkenalkan keseluruhan ruang nama secara langsung Ini mungkin diketahui oleh mereka yang terlibat dalam reka bentuk.
Saya rasa sebabnya adalah untuk mengelak daripada memperkenalkan terlalu banyak perkara yang tidak perlu sekaligus tidak digalakkan dalam pelbagai bahasa.
ringa_lee2017-06-06 09:55:57
Tepat ke kelas boleh meningkatkan prestasi. Jika ia hanya tepat untuk direktori tertentu, setiap kali kelas dimuatkan, pengkompil masih perlu pergi ke direktori untuk mencari sama ada kelas itu wujud.
Tepat kepada kelas untuk mengelakkan konflik Jika nama kelas yang sama wujud dalam dua direktori, jika ia tepat kepada kelas, konflik boleh dielakkan dengan baik.
Mudah untuk dioptimumkan, C# mempunyai ciri-ciri yang disebut oleh poster, tetapi C# disusun terus ke dalam fail boleh laku, tetapi Java menggunakan pendekatan kelas-tepat, kedua-duanya adalah bahasa yang ditafsirkan, dan faedah ini bermanfaat untuk peringkat seterusnya . Pengoptimuman tafsiran membolehkan kelas ditemui dengan tepat dan mengurangkan penggunaan cache.
PHPz2017-06-06 09:55:57
Anda boleh menggunakan kelas atau ruang nama
namespace A;
class B
{
public function test() {}
}
Petikan
namespace C;
use A;
$b = new A\B();
$b->test();
atau
namespace C;
use A\B;
$b = new B();
$b->test();
Jika anda menulis seperti itu, ia pasti akan membiarkan autoload
找不到这个文件。如果是手动载入文件的,从命名空间的理解出发也必须要那样写。而且我觉得提问的那个排版应该是namespace CompanyTool;