搜索

首页  >  问答  >  正文

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

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

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

天蓬老师天蓬老师2760 天前862

全部回复(8)我来回复

  • 我想大声告诉你

    我想大声告诉你2017-06-05 11:09:17

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

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

    回复
    0
  • 習慣沉默

    習慣沉默2017-06-05 11:09:17

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

    回复
    0
  • phpcn_u1582

    phpcn_u15822017-06-05 11:09:17

    对于大型项目,很有必要

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

    回复
    0
  • PHPz

    PHPz2017-06-05 11:09:17

    现代php很需要

    回复
    0
  • 習慣沉默

    習慣沉默2017-06-05 11:09:17

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

    回复
    0
  • 淡淡烟草味

    淡淡烟草味2017-06-05 11:09:17

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

    回复
    0
  • 怪我咯

    怪我咯2017-06-05 11:09:17

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

    回复
    0
  • 黄舟

    黄舟2017-06-05 11:09:17

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

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

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

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

    回复
    0
  • 取消回复