Heim> Schlagzeilen> Hauptteil

带你玩转PHP命名空间

无忌哥哥
Freigeben: 2018-06-28 15:47:19
Original
2236 Leute haben es durchsucht

* 命名空间

* 先理解一个重要概念:代码复用

* 我们学习面向对象编程的终极目标是什么? "代码复用"

* 一、彻底理解代码复用机制?

* **到目前为止,我们已经学到的代码复用的实现手段

* 1. 函数: 代码复用最简单的方式;

* 2. 类与对象:将函数与它可能用到的数据封装到一起;

* 3. trait与接口:一种特殊的类,本质是仍是函数与数据的封装;

* 4. 常量:因为常量具有一旦定义不可修改性,可以做到一次声明,随处调用,而值不会发生变化

* 二、彻底理解什么是全局?

* 1.全局其它就是指当前脚本,是不能跨脚本的,更不是指整个项目

* 2.全局与局部是一对双胞胎兄弟,他们有一个共同的亲爹:作用域,都由它管着

* 三、彻底理解php脚本中有哪些成员?

* 1.变量:包括系统预置变量与用户自定义变量;

* 2.常量:包括系统预置常量,用户自定义常量;

* 3.函数:包括匿名函数/函数表达式/自执行函数;

* 4.类与对象:包括抽象类,接口,trait;

* 三、彻底理解什么是作用域?

******作用域主要是针对变量

*****PHP中的变量有三种作用域: 函数作用域,全局作用域,超全局作用哉;

* 1. 全局作用域: 在函数外部声明,在函数内部不能直接使用

* 注: 函数中使用全局变量必须用global声明,或者使用超全局数组:$GLOBALS

* 2. 函数作用域:也就是局部作用域,包括函数的参数以及函数内声明的变量,离开函数则自动清除;

* 3. 超全局作用域: 除了在全局有效外,在函数内也可以不用声明直接使用

* 四、为什么要使用命名空间?

* 1.类,函数,常量都是全局有效,包括在函数中也可以直接使用.

* 2.因此,在全局中不允许有重名的类,函数和常量。

* 3.如果想从外部导入一个函数库或类库,他们的函数名,类名极有可能与当前脚本冲突

* 4.所以,必须要有一套对于工作在全局范围内的脚本成员,进行标识符命名冲突处理的机制。

* 5.命名空间就是这样一套解决方案,他不仅可以让用户为全局成员起一个较短的名称,又解决了

* 第三方资源的引入带来的重名问题。

* 6.在没有使用任何命名空间的情部下,所有类,常量,函数全部声明在全局空间,用\表,现在我们在

* 他们之前加上反斜线\之外,你会发现,执行结果也是正确的.

* 声明类,常量,函数的时候,前面不需要添加\,调用的时候才需要添加\

* 命名空间非常重要,如果不能彻底掌握,将会成为你以后学习的最大障碍!!!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!