PHP的命名空间如何详细解读和应用?
- 内容介绍
- 文章标签
- 相关推荐
本文共计2381个文字,预计阅读时间需要10分钟。
PHP的命名空间功能早已存在,但一直以来并未深入探讨。这次趁着有时间特意翻阅手册,做了一次整理和总结,希望能帮助自己完善,原本准备写一篇完整的,但发现内容其实还很多。
php的命名空间功能已经出来很久了,但是一直以来没怎么深究过,这次赶着有时间所以特意翻着手册做一个整理和总结帮助自己完善完善,原本准备一篇写完,但发现内容其实还是蛮多的,放一起太长看着累,所以分两篇博客要好些。
一:命名空间概念:命名空间是一种封装事物的方法,类似于目录和文件。
命名空间解决的问题(手册上也写的很清楚,下面按照自己的理解简化了):
1:解决程序编写者自己写的类、常量、函数和php内部的或者第三方的出现名称冲突的情况。
2:创建别名,帮助解决类、常量、函数名称过长的情况,帮助提高代码的可读性,另外名称过长其实通常都是因为为了缓解第一类问题导致的。
二:如何定义命名空间
1:命名空间用关键字namespace声明,同时命名空间必须位于其他代码之前,包括任何非php代码以及空白符(php的declare关键字除外),否则会抛出一个fatal error。
例如:
<?php namespace Index; ?>
注意1:如果命名空间namespace前没有任何代码及空白符,但还是出现fatal error,这个应该是由于bom头导致的,去掉bom头就可以了。
本文共计2381个文字,预计阅读时间需要10分钟。
PHP的命名空间功能早已存在,但一直以来并未深入探讨。这次趁着有时间特意翻阅手册,做了一次整理和总结,希望能帮助自己完善,原本准备写一篇完整的,但发现内容其实还很多。
php的命名空间功能已经出来很久了,但是一直以来没怎么深究过,这次赶着有时间所以特意翻着手册做一个整理和总结帮助自己完善完善,原本准备一篇写完,但发现内容其实还是蛮多的,放一起太长看着累,所以分两篇博客要好些。
一:命名空间概念:命名空间是一种封装事物的方法,类似于目录和文件。
命名空间解决的问题(手册上也写的很清楚,下面按照自己的理解简化了):
1:解决程序编写者自己写的类、常量、函数和php内部的或者第三方的出现名称冲突的情况。
2:创建别名,帮助解决类、常量、函数名称过长的情况,帮助提高代码的可读性,另外名称过长其实通常都是因为为了缓解第一类问题导致的。
二:如何定义命名空间
1:命名空间用关键字namespace声明,同时命名空间必须位于其他代码之前,包括任何非php代码以及空白符(php的declare关键字除外),否则会抛出一个fatal error。
例如:
<?php namespace Index; ?>
注意1:如果命名空间namespace前没有任何代码及空白符,但还是出现fatal error,这个应该是由于bom头导致的,去掉bom头就可以了。

