Heim > Fragen und Antworten > Hauptteil
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
3. Ist ein Namespace wirklich notwendig? Wird die Nichtverwendung zu Unannehmlichkeiten führen?
我想大声告诉你2017-06-05 11:09:17
当你引入的类中有很多是同名的时候,你就知道命名空间的作用了。
比如 Domain 里面有个 User
类,Service 里面有个 User
类,Web 里面有个 User
类。
習慣沉默2017-06-05 11:09:17
可能现在你接触到的项目感觉不出命名空间的作用,但人是应该向前看的,语言的更新也是一样的,任何事物存在即合理,至于命名空间的作用就不多说了,随便google一下一大堆告诉你为什么要用命名空间,你只需要知道你使用了会更好,人不就是往更好方向发展吗?
怪我咯2017-06-05 11:09:17
可能现在你接触到的项目感觉不出命名空间的作用,但人是应该向前看的,语言的更新也是一样的,任何事物存在即合理,至于命名空间的作用就不多说了,随便google一下一大堆告诉你为什么要用命名空间,你只需要知道你使用了会更好,人不就是往更好方向发展吗?
黄舟2017-06-05 11:09:17
其实命名空间的主要目的就是为了解决同名类冲突的问题。
在还没有命名空间,老式的写法是按classmap
的写法去命名类。如System_Controller.php
下划线的写法;转变为现在的\System\Controller
的写法;
无论是classmap
,还是命名空间,只要按着一定的规则,然后通过spl_autoload_register
方式去引入。都不会造成类名的冲突;命名空间在项目中不是必须,只是一个技术发展的产物!
况且这点跟其他语言很类似(如java等),大家都这样,PHP不这样话,跟不上潮流。。哈哈!!