且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

PHP 命名空间 use 是什么意思?

更新时间:2023-02-20 12:53:25

use就是说明一下我要用这个东西,后面就可以简写了。例如

use Project\Model\Table;
$table = new Table();

简单说,如果使用了use,那么后面使用的时候只要用最后一个斜杠之后的名字,或者是as指定的别名就可以了,上例不使用use的话,等效代码为

$table = new \Project\Model\Table();

你写的文件不成功是因为你没好好看例子。应该是

use const yangbin\a\aValue;
echo aValue;

你可以认为命名空间是个路径,再使用命名空间的前提下 完整类名 = 命名空间路径 + 类名

关于include/require,这和use没关系,前面告诉过你了,使用use之后再后面调用的时候就能简写了,别的用处没有。所以如果无法自动加载就自己include吧,关于自动加载可以自己搜索去。

根据你的问题,你是新手,而且几乎没有编程经验,缺乏联想和推理能力,建议自己多思考。其实这个东西有很多借鉴的,比如磁盘路径、别名使用,并不难理解,但是你在其它方面的基础欠缺造成了理解困难。

另外,要细心。不对太正常了,随便写几句当然不对。第一步是仔细的看文档,先做对一次,然后逐渐修改,遇到问题又实在想不明白就问,象你这个问题同时涉及命名空间、类、函数、常量、文件引用、自动加载一系列问题,别人根本不好回答,你描述问题都打了几百字,别人详细回答你恐怕要几千字了,一毛钱都没有废这么多时间有意义?所以最多就是简答一下,可是这样你又没法儿明白,死循环了。