Rumah pembangunan bahagian belakang tutorial php php命名空间:子空间和公共空间实例详解

php命名空间:子空间和公共空间实例详解

May 18, 2017 pm 03:52 PM

命名空间和文件系统的结构很像,文件夹可以有子文件夹,命名空间也可以定义子空间来描述各个空间之间的所属关系。上一章节介绍了什么是命名空间?以及php命名空间的基本应用,这里我们开始了解下命名空间的子空间和公共空间。

通过下面的例子来说明什么是子空间

例如, cart 和 order 这两个模块都处于同一个 shop 项目内,通过命名空间子空间表达关系。

代码如下所示

<?php
namespace shop\cart;   //命名空间表示处于 shop 项目下的 cart
class Test {
}
namespace shop\order;  //命名空间表示处于 shop 项目下的 order
class Test {
   //申明与上面空间相同的类
}
$test =new Test();        //调用当前的类
$cart = new \shop\cart\Test();   //调用shop\cart空间的类
?>
Salin selepas log masuk

命名空间的子空间还可以定义很多层次,例如 cn\my\www\shop 。多层子空间的声明通常使用公司域名的倒置,再加上项目名称组合而成。这样做的好处是域名在互联网上是不重复的,不会出现和网上同名的命名空间,还可以辨别出是哪家公司的具体项目。有很强的广告效应。

命名空间中的公共空间

命名空间的公共空间很容易理解,其实没有定义命名空间的方法、类库和常量都默认归属于公共空间,这样就解释了在以前版本编写的代码大部分都可以在 PHP5.3 以后的版本中运行。另外,公共空间中的代码段被引入到某个命名空间下以后,该公共空间中的代码段不属于任何命名空间。例如,声明一个脚本文件 common.php,在文件中声明的函数和类。

其代码如下所示:

<?php
 function fun(){
   
 }
 class Demo{
   
 }
?>
Salin selepas log masuk

再创建一个 PHP 文件,并在一个命名空间里引入这个脚本文件 common.php,但可脚本里的类和函数并不会归属到这个命名空间。如果这个脚本里没有定义其他命名空间,它的元素就始终处于公共空间中。

代码如下所示:

<?php
 namespace cn\my;
 include &#39;common.php&#39;;  //引入当前目录下的文件
 $demo = new Demo;    //出现致命错误:找不到 cn\my\Demo类
 $demo = new \Demo(); //正确的方式  加上 \
 var_dump();   // 错误,系统函数在公共空间
 \var_dump();  // 正确,使用了 \
?>
Salin selepas log masuk

说明:调用公共空间的方式是直接在元素名称前面加上 \ 就可以了,否则 PHP 解析器会认为用户像调用当前空间下的元素。除了自定义的元素,还包括 PHP 自带的元素,都属于公共空间。其实公共空间的函数和常量不用加 \ 也可以正常调用,但是为了正确区分元素所在区域,还是建议调用函数的时候加上 \

命名空间的子空间和公共空间就介绍到这里,下一节给大家带来的是命名空间中的三种名称和术语

【相关教程推荐】

1. 《php.cn独孤九贱(4)-php视频教程

2.  视频教程:命名空间:我们虽然同名同性,但却属于不同时空

3.  php编程从入门到精通全套教程

Atas ialah kandungan terperinci php命名空间:子空间和公共空间实例详解. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Arahan sembang dan cara menggunakannya
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Selesaikan ralat PHP: Kelas ruang nama yang ditentukan tidak ditemui Selesaikan ralat PHP: Kelas ruang nama yang ditentukan tidak ditemui Aug 18, 2023 pm 11:28 PM

Selesaikan ralat PHP: Kelas ruang nama yang ditentukan tidak ditemui Semasa membangunkan menggunakan PHP, kami sering menghadapi pelbagai mesej ralat. Salah satu ralat biasa ialah "Kelas ruang nama yang ditentukan tidak dijumpai". Ralat ini biasanya disebabkan oleh fail kelas yang diimport tidak dirujuk dengan betul ruang nama. Artikel ini menerangkan cara menyelesaikan masalah ini dan menyediakan beberapa contoh kod. Mula-mula, mari kita lihat contoh mesej ralat biasa: Fatalerror:UncaughtError:C

Bagaimana untuk menggunakan ruang nama dalam rangka kerja F3? Bagaimana untuk menggunakan ruang nama dalam rangka kerja F3? Jun 03, 2023 am 08:02 AM

Rangka kerja F3 ialah rangka kerja PHPWeb yang ringkas, mudah digunakan, fleksibel dan boleh diperluaskan. Mekanisme ruang nama (Namespace)nya memberikan kita struktur kod yang lebih standard, lebih mudah dibaca dan lebih jelas. Dalam artikel ini, kami akan meneroka cara menggunakan ruang nama dalam rangka kerja F3. 1. Apakah ruang nama? Ruang nama sering digunakan untuk menyelesaikan masalah konflik penamaan dalam PHP Ia boleh merangkum satu atau lebih kelas, fungsi atau pemalar dalam ruang nama, yang bersamaan dengan menambah awalan kepada mereka. contoh

Reka bentuk idea dan kaedah pelaksanaan ruang nama Redis dan mekanisme tamat tempoh Reka bentuk idea dan kaedah pelaksanaan ruang nama Redis dan mekanisme tamat tempoh May 11, 2023 am 10:40 AM

Redis ialah pangkalan data storan nilai kunci berprestasi tinggi sumber terbuka. Apabila menggunakan Redis untuk penyimpanan data, kita perlu mempertimbangkan reka bentuk ruang nama utama dan mekanisme tamat tempoh untuk mengekalkan prestasi dan integriti data Redis. Artikel ini akan memperkenalkan idea reka bentuk dan kaedah pelaksanaan ruang nama dan mekanisme tamat tempoh Redis. 1. Idea reka bentuk ruang nama Redis Dalam Redis, kekunci boleh ditetapkan sewenang-wenangnya. Untuk memudahkan pengurusan dan perbezaan jenis data yang berbeza, Redis memperkenalkan konsep ruang nama. kehidupan

Ralat sintaks C++: ruang nama tidak ditentukan digunakan, bagaimana untuk menanganinya? Ralat sintaks C++: ruang nama tidak ditentukan digunakan, bagaimana untuk menanganinya? Aug 21, 2023 pm 09:49 PM

C++ ialah bahasa pengaturcaraan peringkat tinggi yang digunakan secara meluas Ia mempunyai fleksibiliti dan skalabiliti yang tinggi, tetapi ia juga memerlukan pembangun untuk menguasai peraturan tatabahasanya dengan ketat untuk mengelakkan ralat. Salah satu ralat biasa ialah "penggunaan ruang nama yang tidak ditentukan". Artikel ini menerangkan maksud ralat ini, sebab ia berlaku dan cara membetulkannya. 1. Apakah kegunaan ruang nama yang tidak ditentukan? Dalam C++, ruang nama ialah cara mengatur kod yang boleh diguna semula untuk memastikan ia modular dan boleh dibaca. Fungsi dengan nama yang sama boleh dibuat menggunakan ruang nama

Contoh ciri baharu dalam PHP8: Bagaimana untuk menggunakan ruang nama dan kod untuk menyusun struktur kod dengan lebih baik? Contoh ciri baharu dalam PHP8: Bagaimana untuk menggunakan ruang nama dan kod untuk menyusun struktur kod dengan lebih baik? Sep 11, 2023 pm 12:22 PM

Contoh ciri baharu dalam PHP8: Bagaimana untuk menggunakan ruang nama dan kod untuk menyusun struktur kod dengan lebih baik? Pengenalan: PHP8 ialah versi penting bahasa pengaturcaraan PHP, yang memperkenalkan banyak ciri dan penambahbaikan baharu yang menarik. Salah satu ciri baharu yang paling penting ialah ruang nama. Ruang nama ialah cara untuk menyusun kod anda ke dalam struktur yang lebih baik yang mengelakkan konflik antara kelas, fungsi dan pemalar dengan nama yang sama. Dalam artikel ini, kita akan melihat cara memanfaatkan ruang nama dan kod untuk menstrukturkan kod PHP8 anda dengan lebih baik

Konfigurasi ruang nama dan contoh aplikasi dalam PHP Konfigurasi ruang nama dan contoh aplikasi dalam PHP Jun 25, 2023 am 08:32 AM

PHP ialah bahasa pengaturcaraan yang sangat fleksibel dengan pelbagai aplikasi. Dalam pembangunan PHP, untuk mengelakkan konflik penamaan dan meningkatkan kebolehbacaan dan kebolehselenggaraan kod, PHP memperkenalkan konsep ruang nama. Ruang nama membantu pembangun menggunakan nama kelas atau fungsi yang sama dalam projek yang sama tanpa konflik. Artikel ini akan memperkenalkan cara mengkonfigurasi ruang nama dalam PHP dan contoh aplikasi biasa. 1. Bagaimana untuk mengkonfigurasi ruang nama PHP Isytiharkan ruang nama dalam PHP dengan menggunakan namespa di bahagian atas fail.

Ciri baharu PHP 5.3: Cara menggunakan ruang nama untuk menyelesaikan konflik nama kelas Ciri baharu PHP 5.3: Cara menggunakan ruang nama untuk menyelesaikan konflik nama kelas Jul 30, 2023 pm 12:25 PM

Ciri baharu PHP5.3: Cara menggunakan ruang nama untuk menyelesaikan konflik nama kelas Pengenalan: Semasa pembangunan PHP, apabila projek menjadi lebih besar dan lebih kompleks, konflik nama kelas juga timbul. Untuk menyelesaikan masalah ini, versi PHP5.3 memperkenalkan konsep ruang nama. Ruang nama menyediakan cara untuk menyusun kelas, fungsi dan pemalar yang berkaitan bersama-sama untuk mengelakkan konflik penamaan. Artikel ini akan memperkenalkan secara terperinci konsep ruang nama PHP dan cara menggunakan ruang nama untuk menyelesaikan konflik nama kelas, dengan contoh kod.

Bagaimana untuk menyelesaikan ralat ruang nama PHP dan menjana gesaan ralat yang sepadan Bagaimana untuk menyelesaikan ralat ruang nama PHP dan menjana gesaan ralat yang sepadan Aug 07, 2023 pm 05:16 PM

Cara menyelesaikan ralat ruang nama PHP dan menjana mesej ralat yang sepadan PHP ialah bahasa skrip bahagian pelayan yang digunakan secara meluas untuk membangunkan aplikasi web. Dalam PHP, ruang nama ialah mekanisme untuk mengurus dan mengatur kod, yang boleh mengelakkan konflik penamaan dan meningkatkan kebolehbacaan dan kebolehselenggaraan kod. Walau bagaimanapun, disebabkan kerumitan definisi dan penggunaan ruang nama, ralat kadangkala berlaku. Artikel ini akan memperkenalkan beberapa kaedah untuk menyelesaikan ralat ruang nama PHP dan menjana gesaan ralat yang sepadan. 1. Namakan ruang

See all articles