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
8 antwortet
当你引入的类中有很多是同名的时候,你就知道命名空间的作用了。
比如 Domain 里面有个 User 类,Service 里面有个 User 类,Web 里面有个 User 类。
可能现在你接触到的项目感觉不出命名空间的作用,但人是应该向前看的,语言的更新也是一样的,任何事物存在即合理,至于命名空间的作用就不多说了,随便google一下一大堆告诉你为什么要用命名空间,你只需要知道你使用了会更好,人不就是往更好方向发展吗?
可能现在你接触到的项目感觉不出命名空间的作用,但人是应该向前看的,语言的更新也是一样的,任何事物存在即合理,至于命名空间的作用就不多说了,随便google一下一大堆告诉你为什么要用命名空间,你只需要知道你使用了会更好,人不就是往更好方向发展吗?
其实命名空间的主要目的就是为了解决同名类冲突的问题。
在还没有命名空间,老式的写法是按classmap的写法去命名类。如System_Controller.php下划线的写法;转变为现在的\System\Controller的写法;
无论是classmap,还是命名空间,只要按着一定的规则,然后通过spl_autoload_register方式去引入。都不会造成类名的冲突;命名空间在项目中不是必须,只是一个技术发展的产物!
况且这点跟其他语言很类似(如java等),大家都这样,PHP不这样话,跟不上潮流。。哈哈!!
Hot-Tools-Tags
Hot Questions
Hot Tools
Sammlung der Laufzeitbibliothek vc9-vc14 (32+64 Bit) (Link unten)
Laden Sie die Sammlung der Laufzeitbibliotheken herunter, die für die Installation von phpStudy erforderlich sind
VC9 32-Bit
VC9 32-Bit-Laufzeitbibliothek für die integrierte Installationsumgebung von phpstudy
Vollversion der PHP-Programmierer-Toolbox
Programmer Toolbox v1.0 PHP Integrierte Umgebung
VC11 32-Bit
VC11 32-Bit-Laufzeitbibliothek für die integrierte Installationsumgebung von phpstudy
SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen





