究竟有没有必要使用php的命名空间?

1.在thinkphp3.2时代没有使用命名空间,但是代码看起来也不会很冗杂,也没说造成什么太大的不便
2.之前曾经看过一个其他人做的项目使用命名空间,看起来其实每个类文件也use很多命名空间

clipboard.png

3.究竟命名空间真的很有必要用吗?不用就会造成不便吗?

阅读 6.3k
8 个回答

当你引入的类中有很多是同名的时候,你就知道命名空间的作用了。

比如 Domain 里面有个 User 类,Service 里面有个 User 类,Web 里面有个 User 类。

谈论问题,为啥总用tp举例子

对于大型项目,很有必要

否则,引入不同库出现同名函数混淆就不好了

现代php很需要

可能现在你接触到的项目感觉不出命名空间的作用,但人是应该向前看的,语言的更新也是一样的,任何事物存在即合理,至于命名空间的作用就不多说了,随便google一下一大堆告诉你为什么要用命名空间,你只需要知道你使用了会更好,人不就是往更好方向发展吗?

谈论问题,为啥总用tp举例子111

可能现在你接触到的项目感觉不出命名空间的作用,但人是应该向前看的,语言的更新也是一样的,任何事物存在即合理,至于命名空间的作用就不多说了,随便google一下一大堆告诉你为什么要用命名空间,你只需要知道你使用了会更好,人不就是往更好方向发展吗?

其实命名空间的主要目的就是为了解决同名类冲突的问题。

在还没有命名空间,老式的写法是按classmap的写法去命名类。如System_Controller.php下划线的写法;转变为现在的\System\Controller的写法;

无论是classmap,还是命名空间,只要按着一定的规则,然后通过spl_autoload_register方式去引入。都不会造成类名的冲突;命名空间在项目中不是必须,只是一个技术发展的产物!

况且这点跟其他语言很类似(如java等),大家都这样,PHP不这样话,跟不上潮流。。哈哈!!

推荐问题