Rumah > Soal Jawab > teks badan
1. Pada era thinkphp3.2, ruang nama tidak digunakan, tetapi kod itu tidak kelihatan sangat rumit, dan ia tidak menyebabkan banyak kesulitan 2. Saya pernah melihat projek yang dilakukan oleh orang lain menggunakan ruang nama , setiap fail kelas juga menggunakan banyak ruang nama
3. Adakah ruang nama benar-benar diperlukan? Tidakkah menggunakannya akan menyusahkan?
我想大声告诉你2017-06-05 11:09:17
Apabila banyak kelas yang anda perkenalkan mempunyai nama yang sama, anda akan tahu peranan ruang nama.
Sebagai contoh, terdapat kelas dalam Domain. User
类,Service 里面有个 User
类,Web 里面有个 User
習慣沉默2017-06-05 11:09:17
Bila bercakap tentang masalah, kenapa kita selalu guna tp untuk beri contoh?
phpcn_u15822017-06-05 11:09:17
Untuk projek besar, perlu
Jika tidak, adalah buruk jika perpustakaan yang berbeza diperkenalkan dan fungsi dengan nama yang sama keliru
習慣沉默2017-06-05 11:09:17
Mungkin anda tidak dapat merasakan peranan ruang nama dalam projek yang anda dedahkan sekarang, tetapi orang harus melihat ke hadapan , Saya tidak akan bercakap banyak, hanya google dan banyak daripada mereka akan memberitahu anda mengapa anda perlu menggunakan ruang nama Anda hanya perlu tahu bahawa anda akan lebih baik jika anda menggunakannya arah yang lebih baik?
淡淡烟草味2017-06-05 11:09:17
Bila bincang masalah, kenapa kita selalu guna tp untuk beri contoh 111
怪我咯2017-06-05 11:09:17
Mungkin anda tidak merasakan peranan ruang nama dalam projek yang anda dedahkan sekarang, tetapi orang harus melihat ke hadapan, perkara yang sama berlaku untuk kemas kini bahasa Apa pun Google akan memberitahu anda banyak tentang mengapa anda perlu menggunakan ruang nama.
黄舟2017-06-05 11:09:17
Malah, tujuan utama ruang nama adalah untuk menyelesaikan masalah konflik antara kelas dengan nama yang sama.
Sebelum tiada ruang nama, cara penulisan lama adalah dengan menamakan kelas mengikut peta kelas
. Seperti System_Controller.php
yang digariskan kepada tulisan semasa SystemController
;
classmap
的写法去命名类。如System_Controller.php
下划线的写法;转变为现在的SystemController
的写法;
无论是classmap
,还是命名空间,只要按着一定的规则,然后通过spl_autoload_register
Sama ada peta kelas
atau ruang nama, cuma ikut peraturan tertentu dan kemudian memperkenalkannya melalui spl_autoload_register
. Ia tidak akan menyebabkan konflik nama kelas; ruang nama tidak diperlukan dalam projek, ia hanya produk pembangunan teknologi!
Selain itu, ini sangat mirip dengan bahasa lain (seperti java, dll.). . Ha ha! !