Rumah pembangunan bahagian belakang tutorial php php中命名空间的声明与使用

php中命名空间的声明与使用

Jun 28, 2018 pm 03:52 PM

* 命名空间的声明与使用

 * 1.使用关键字:namespace

 * 2.php5.3+

 * 3.namespace 之前不能有除了declare和注释之外的任何代码,html也不行

 * 4.命名空间默认从全局开始定位,全局空间用\表示,类似于根目录

 * 5.如果当前脚本声明了命名空间,则所有成员的访问,就必须使用命名空间,包括系统函数

//1. 声明一个命名空间

namespace one;
class Demo{public $name='Peter Zhu';}
const SITE='PHP中文网';
function add($a,$b){return $a+$b;}
Salin selepas log masuk


//如果我想声明同名的类,常量与函数可以再声明一个命名空间

//2.一个脚本中允许有多个命名空间

//声明命名空间:two,使用\tow\进行引用

namespace two;
Salin selepas log masuk

//现在声明类Demo,常量SITE,函数add,则不会冲突

class Demo{public $name='朱老师';}
const  SITE = 'www.php.cn';
function add($a,$b){return $a+$b;}
Salin selepas log masuk

//相信大家看出来了,这非常像是在不同的目录下面,允许创建同名文件,原理是一样的

echo (new Demo)->name, &#39;<br>&#39;; //默认输出的是当前空间的内容
Salin selepas log masuk

//查看一下当前的命名空间是什么?使用系统预置常量:__NAMESPACE__

echo &#39;当前命名空间是: &#39;,__NAMESPACE__,&#39;<br>&#39;;
Salin selepas log masuk

//也可以带上当前的命名空间来访问当前空间中的成员

//生成带有当前命名空间的类名

$className = __NAMESPACE__.&#39;\Demo&#39;;
echo (new $className)->name,&#39;<br>&#39;;
Salin selepas log masuk

//可以带上完整的命名空间名称,从全局空间\开始,相当于从根目录开始

//专业术语: 完全限定名称

echo (new \two\Demo)->name, &#39;<hr>&#39;;
Salin selepas log masuk

//3.如何实现跨空间访问?

//如果我们要访问空间one中的Demo类中的属性,如何操作呢?

//跨空间访问,与跨目录访问文件一样,一定要带上它完整的空间路径

//例如我们要访问one空间的类Demo中的成员

echo &#39;one空间的类成员:&#39;,(new \one\Demo)->name,&#39;<br>&#39;;
Salin selepas log masuk

//4.在声明了命名空间的脚本中,如何访问系统预定义方法?

//例如声明了一个单字符数组

$welcome = &#39;php中文网欢迎您&#39;;
\print_r($welcome); echo &#39;<br>&#39;;
print($welcome); echo &#39;<hr>&#39;;
Salin selepas log masuk

//刚才我们说过,在空间中访问全局成员,必须要加\,这里没有加为什么可以?

//因为如果用户没有添加,那么会首先在本空间中寻找有没有var_dump()函数,

//如果没有找到,再到全局空间查找,所以不报错

//但是如果我们在当前的two空间中也创建一个var_dump()函数,则只会执行

//当前空间中用户自定义的var_dump(),系统同名函数不会被调用

function print_r($arg)
{
    echo &#39;我是当前空间声明的函数调用:&#39;.$arg;
}
print_r($welcome); echo &#39;<br>&#39;;
Salin selepas log masuk

//等价调用语法:

\two\print_r($welcome);
Salin selepas log masuk
Salin selepas log masuk

//注意: 此print_r(),与系统内置的print_r()无任何关系,仅名称相同而已

//就好比,上海有条长江路,咱们合肥也有一条长江路一样,这二条路除名称一样,再无任何关系

// 上海市宝山区长江路

// 合肥市庐阳区长江路

// 相信没有人会认为这是同一条路?

//事实上,这二个函数的完整调用语句应该是这样的:

//1.调用系统的:

\print_r($welcome);
Salin selepas log masuk

//2.调用当前空间的:

\two\print_r($welcome);
Salin selepas log masuk
Salin selepas log masuk

//尽管后面名称一样,但是归属地是不同的

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.

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