PHP教程:PHP代码中的称号空间-Php-优质IT资源分享社区

admin
管理员
管理员
  • UID1
  • 粉丝33
  • 关注4
  • 发帖数581
  • 社区居民
  • 忠实会员
  • 原创写手
阅读:262回复:0

  PHP教程:PHP代码中的称号空间

楼主#
更多 发布于:2016-05-30 22:19

PHP V5.3 支撑为 PHP

类、常量和函数供给称号空间。运用称号空间防止命名抵触,并为 PHP

代码供给上下文。这些窍门为构建称号空间供给一些辅导准则,然后充分运用称号空间带来的优点。

在 PHP V5.3 中引入的称号空间是为 PHP

类、常量和函数供给上下文的一种方法,然后可以将运用相同称号的元素看作是专一的。专一的称号防止了命名抵触,当两个类或函数运用相同的称号时就会发作这种状况。有时这些

PHP 类表明实际国际中的相同目标,但它们的做法是彻底纷歧样的。称号空间可以保证您具有准确的 PHP 类、常量或函数,而且要运用您的 PHP

类的人可以保证他们运用了准确的类。

代码中的称号空间就像实际国际中的上下文。思考一个表明实际国际中的轿车目标的类。例如,经过

Internet 出售轿车的公司运用的Automobile类的做法或许与稳妥出售公司运用的Automobile类彻底纷歧样。

作为运用程序开发人员,您或许运用别的人编写的组件。您不能保证别的人永久不运用您现已运用的类名,但这些类的做法却截然纷歧样。在出现称号空间之前,PHP

开发人员一般将上下文构建到类名中,例如My_Enterprise_Person或XML_Validator。

清单 1 显现了一个坐落称号空间中的类。

清单 1. 在称号空间中声明类

下面给出了一个比方,展现了如安在称号空间中引证类。

清单 2. 在称号空间中引证类

在向一切类增加称号空间之前界说一个称号空间战略是个不错的主见。虽然在某种程度上也可以不断地构建称号空间,但最佳为称号空间断定一个通用结构,以便利称号空间的安排,并削减今后或许需求的修正。只需准确运用,除了供给上下文以外,称号空间还可以用来安排

PHP 代码。

别的言语(比方 Java™ 和

C#)在很久以前就运用称号空间。在挑选称号空间命名方法上,我运用的约好相似于这些言语的约好,由于很多开发人员都对此对比熟悉,便于他们了解。不过,与 Java

言语纷歧样的是,PHP 中的称号空间与类地点的目录之间没有联络。您可以给类、函数或常量挑选任意的称号空间。您乃至可以对一个文件运用多个称号空间。一起,PHP

称号空间也纷歧样于 C#,您可以对类以外的函数或常量运用称号空间。

尖端称号空间

如果您为某个安排构建称号空间,您可以运用安排名作为尖端域。一般状况下,运用安排称号创立尖端称号空间现已足认为

PHP 代码供给上下文,以及防止命名抵触,除非该安排编写很多用途纷歧的运用程序。

清单 3 的示例显现了怎么声明尖端称号空间。

清单 3. 尖端称号空间

次级称号空间

次级称号空间 是尖端称号空间内部的称号空间。当尖端称号空间还不足认为 PHP

类建立上下文时,它们供给进一步阐明。

在创立次级称号空间时,不要凭一时的兴趣而过多地创立,这很主要。跟着次级称号空间的增多,安排和引证它们就会变得越来越艰难。如果您期望称号空间表现两层效果,即防止命名抵触和安排

PHP 代码,那么就要愈加留意这点了。

在决议为了便利安排代码应当向另一个称号空间引入多少个次级称号空间时,我测验将该数量限制为 7

个(上下起浮不超过 2),以运用数字 7 愈加简单记住这个优势。这并不总是见效的,但我将它作为一个辅导准则,以保证不将称号空间划分为过多的次级称号空间。

清单 4 的示例显现了在尖端称号空间中声明次级称号空间。

清单 4. 次级称号空间

反斜杠(\)将次级称号空间 “developerWorks” 与尖端称号空间 “IBM”

分开。

在声明次级称号空间时,您可以运用两个多见窍门,或一起运用它们。获取称号空间的多见当地是项目名或运用程序名;另一个当地是域名。

经过项目界说

如果您运用安排名作为尖端称号空间,而且想经过次级称号空间来进一步供给上下文,那么可以运用项目名或运用程序名作为次级称号空间。例如,如果您构建一个称为Greeter

的新运用程序(用于获取用户的称号并问好他们),那么清单 5 中的称号空间将为称为Prompt的类供给完好的上下文。

清单 5. 运用运用程序名作为次级称号空间

由于Prompt或许是多个运用程序或库的类名,所认为该称号空间增加安排名和项目名可以让这个Prompt类与别的同名的类区别开来。

经过域界说

运用域名是另一种挑选次级称号空间的多见方法,如 清单 6

所示。它也可以用于项目名之后,是不是运用取决于您对可重用性的方案(见 “依据可重用性命名”)。

域 是对更大的疑问域的一组分类。域的一个比方是在更大型的运用程序中处理帐户、客户和商品的

“Account”、“Customers” 或 “Products”。

清单 6. 运用域作为次级称号空间

依据可重用性命名

除了运用支撑可重用性的模块概念以外,类和称号空间的命名方法也可以完成可重用性。有时不良的命名方法会危害可重用性,由于不佳的称号暗示着类仅能用于特定意图。相同,过错地运用称号空间或许会不用要地限制类的运用范围,让它们的重用变得艰难。

在运用安排名的尖端称号空间中,应当保存 “Common”、“Core”、“Lib”

等可跨运用程序重用的称号空间。一个多见的比方是验证,其中针对全部公司的库存单位(SKU)、帐号或发票号的规矩是相同的,然后获得合适的规矩和长度。关于

Validator 类,相似清单 7 的称号空间是不错的挑选。

清单 7. 运用通用的 validation 称号空间

在这里,安排名用作尖端域(“MyCompany”)。“Common”

称号空间用作项目。即便在编写这个类的一起或许正在编写一个特定的运用程序,该类相同可以在安排的任何项目中运用。最终,“Validation” 用作类的域。

运用别号

虽然称号空间可以帮助您安排类并防止命名约好,但其缺点是称号过长。走运的是,PHP

支撑运用别号,因而可以在代码中运用更短的别号。清单 8 供给了一个示例。

清单 8. 运用别号

命名约好

称号空间命名运用单词首字母大写或 PASCAL 命名约好,这与别的 PHP 约好相同,比方 PHP

Extension 和 Application Repository (PEAR) 包命名和文件名。例如,清单 9 中的称号空间比 清单 10

中的称号空间要好。

清单 9. 单词首字母大写或 PASCAL 命名

防止运用与别的 PHP 约好抵触的命名和大小写约好。

清单 10. 运用差劲的大小写约好

结束语

PHP

中的称号空间可以用于安排代码、防止命名抵触以及为类、函数和常量供给上下文。在称号空间中运用形式或约好让代码更易于了解,而且更易于引证和运用。

优质IT资源分享社区为你提供此文。

本站有大量优质php教程视频,资料等资源,包含php基础教程,高级进阶教程等等,教程视频资源涵盖传智播客,极客学院,达内,北大青鸟,猎豹网校等等IT职业培训机构的培训教学视频,价值巨大。欢迎点击下方链接查看

php教程视频

优质IT资源分享社区(www.itziyuan.top)
一个免费,自由,开放,共享,平等,互助的优质IT资源分享网站。
专注免费分享各大IT培训机构最新培训教学视频,为你的IT学习助力!

!!!回帖受限制请看点击这里!!!
!!!资源失效请在此版块发帖说明!!!

[PS:按 CTRL+D收藏本站网址~]

——“优质IT资源分享社区”管理员专用签名~

本版相似帖子

游客