1. In der thinkphp3.2-Ära wurden keine Namespaces verwendet, aber der Code sah nicht sehr kompliziert aus und es verursachte keine großen Unannehmlichkeiten. 2. Ich hatte zuvor ein Projekt gesehen, das Namespaces verwendete , jede Klassendatei verwendet auch viele Namespaces
当你引入的类中有很多是同名的时候,你就知道命名空间的作用了。
比如 Domain 里面有个
User
类,Service 里面有个User
类,Web 里面有个User
类。谈论问题,为啥总用tp举例子
对于大型项目,很有必要
否则,引入不同库出现同名函数混淆就不好了
现代php很需要
可能现在你接触到的项目感觉不出命名空间的作用,但人是应该向前看的,语言的更新也是一样的,任何事物存在即合理,至于命名空间的作用就不多说了,随便google一下一大堆告诉你为什么要用命名空间,你只需要知道你使用了会更好,人不就是往更好方向发展吗?
谈论问题,为啥总用tp举例子111
可能现在你接触到的项目感觉不出命名空间的作用,但人是应该向前看的,语言的更新也是一样的,任何事物存在即合理,至于命名空间的作用就不多说了,随便google一下一大堆告诉你为什么要用命名空间,你只需要知道你使用了会更好,人不就是往更好方向发展吗?
其实命名空间的主要目的就是为了解决同名类冲突的问题。
在还没有命名空间,老式的写法是按
classmap
的写法去命名类。如System_Controller.php
下划线的写法;转变为现在的\System\Controller
的写法;无论是
classmap
,还是命名空间,只要按着一定的规则,然后通过spl_autoload_register
方式去引入。都不会造成类名的冲突;命名空间在项目中不是必须,只是一个技术发展的产物!况且这点跟其他语言很类似(如java等),大家都这样,PHP不这样话,跟不上潮流。。哈哈!!