请各位大佬指点!请教下php中namespace和use的用法及异同?各位有什么建议?

目前的理解和疑惑如下:
namespace的作用:命名空间为了解决重名问题,比如同事A.php里有classA,而同事B事先不知道A会使用什么类名,可能会重复.那么命名空间可以解决这问题.namespacensa里有classA,classA只能在当前命名空间下生效.
use的作用就是在当前命名空间下使用其它命名空间下的类,比如在(index.php里的类Index)app\admin\controller命名空间里使用另一个(Db.php里有Db类)命名空间usethink\Db
只知道这么用,但有些东西讲不清楚.
usethink\Db=Db类的命名空间think+类名Db?框架里是这样用的,(这里的命名空间think经过tp的修改和简化)
再推而广之,如果想在A.php,namespacensa,classA调用B.php,namespacensb,classB,就是usensb/B?需要先在A.php用include或require引入B.php吗?
在网上找了很多人写的博客,但是我发现,因为这涉及到file_name,namespace_name,class_name,甚至path_name和directory_name.一些人在写文章时,这几个名字都取得稀巴烂像a,b,aa,bb,ab,导致描述也混乱,很容易产生歧义.所以先事先约定以下名称
A.php
namespacensa(要用多层级就namespacen/s/a)
classA
B.php,
namespacensb(要用多层级就namespacem/t/b)
classB
现在简单的框架功能练习没什么问题,但是看源代码和练习复杂功能的代码时,面向对象和命名空间认识太浅,导致理解有些困难.还请大家帮忙分享下自己的经验.
繁星淼淼
浏览 320回答 2
2回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript