你的位置:爱体育app下载 > 人格心理 > 也被称为vender namespace官方下载
也被称为vender namespace官方下载
发布日期:2024-06-29 02:32    点击次数:157

从表面到结束官方下载,不会是一步之遥。

php的PSR4自动加载尺度摆在明处,但结束需要有我方的想路。

比如术语class的弘扬方法为:\(\)*\

其中第一个,也被称为vender namespace,也即供应商的称号,八成顶级定名空间。

那么php默许的顶级定名空间是什么呢?是\。也等于说,若是php代码中莫得通过namespace指定定名空间的话,默许调用的是\定名空间中的类、函数、常量等。而为了幸免与\定名空间以过头他开拓者界说的类、函数发生冲破,是以才需要将自界说的类、函数等谐和放手在我方的定名空间内(假定为example)。

咱们先来次序一下项主见全体目次结构:

图1 项主见目次结构

在图1 中,咱们将现时目次看成框架的贬责目次,public看成看成绽开的网站根目次,libs用来存放咱们我方的以及导入的库(无关的话题是,public的目次名需要跟Web就业器的配置一致。libs的目次名跟咱们要开拓的自动加载器的配置一致)

假定咱们将类、函数库存放在现时目次的libs下,于是,example定名空间下的类、函数对应的文献,就不错安排在libs\example\目次下。这是定名空间到具体文献的最轻便调度样子。比如咱们界说了一个HelloWorld类,存放位置为libs\example\HelloWorld.php:

图2 \example\HelloWorld类界说

为了对比实验后果,咱们在libs目次下一样界说了一个HelloWorld类:

图3 \HelloWorld类界说

防范一下两个文献代码的分辨,第2行和11行不同。第2行示意现时的域名空间。

然后,看一下咱们的基本autoloader,咱们界说在了al.php之中:

图4 自界说框架的autoloader代码

然后,裁剪一下public\index.php:

图5 网站首页index.php的代码

第3行包含了al.php。甘休如下图所示:

图6 index.php的现实甘休

需要防范的是,index.php中,并未声明现时的namespace,是以使用的是默许的定名空间,对应到目次结构,如同悉数库文献的根目次——即现时面容场地目次下的libs子目次。当今,咱们再行编写一个index2.php文献,将index.php中的代码改写为以下内容:

图7 index2.php

重心是第2行和第6行。由于声明了现时的定名空间为example,是以$hello赋值时,new HelloWorld所用的HelloWorld类骨子上被分解为\example\HelloWorld类。是以,起原甘休如图6一样官方下载,未达一间。