Rumah >pembangunan bahagian belakang >tutorial php >phpmaster | PHP Namespaces
Manfaat utama ruang nama:
Mendefinisikan ruang nama:
ruang nama diisytiharkan menggunakan kata kunci. Anda boleh menggunakan salah satu gaya ini, tetapi konsistensi adalah kunci: namespace
Pengisytiharan Single-Line:
<?php namespace MyNamespace; // ... code within the namespace ... ?>
Pengisytiharan blok:
<?php namespace MyNamespace { // ... code within the namespace ... } ?>
namespace MyProjectModuleComponent;
namespace
ruang nama global diakses dengan menghilangkan nama selepas
namespace
<?php namespace MyProject { // Code in MyProject namespace } namespace { // Code in the global namespace } ?>merujuk unsur -unsur nama nama:
Terdapat tiga cara untuk merujuk unsur -unsur nama:
Laluan lengkap, bermula dengan backslash: . Ini tidak jelas dan selalu berfungsi.
MyProjectModuleMyClass
jalan relatif relatif kepada ruang nama semasa. Sebagai contoh, dalam , merujuk kepada namespace MyProjectModule;
. MyClass
MyProjectModuleMyClass
digunakan dalam ruang nama semasa. Ia hanya mencari ruang nama semasa dan sub-namespacesnya.
: use
Kata kunci
use
<?php use \Long\Namespace\Path\MyClass as MyClassAlias; $myObject = new MyClassAlias(); // Uses the alias ?>
use
Penggunaan ruang nama dinamik:
Pemalar __NAMESPACE__
memegang ruang nama semasa sebagai rentetan. Ini membolehkan penjanaan kod dinamik, tetapi ingat bahawa anda mesti menggunakan nama yang berkelayakan sepenuhnya apabila merujuk elemen secara dinamik.
Contoh:
katakan file1.php
mengandungi:
<?php namespace MyNamespace; // ... code within the namespace ... ?>
dan file2.php
memasukkannya:
<?php namespace MyNamespace { // ... code within the namespace ... } ?>
Kesimpulan:
ruang nama PHP adalah penting untuk menulis kod yang bersih, boleh dipelihara, dan boleh diguna semula, terutamanya dalam projek yang lebih besar. Memahami penggunaan mereka adalah penting untuk mana -mana pemaju PHP yang serius. Artikel ini memberikan gambaran menyeluruh mengenai fungsi dan amalan terbaik mereka.
Atas ialah kandungan terperinci phpmaster | PHP Namespaces. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!