TP5.1自定义命名空间

author:咔咔

wechat:fangkangfk

 

由于步骤比较多,在下一篇文章用命令在data命名空间创建文件,本片文章只是创建了data的命名空间

看下图会发现,命令行创建的文件,还是会到app下去。所以下片文章处理

TP5.1自定义命名空间

 

从下图我们可以看出,facade,service,util,bahavior这些公共层与模块混在了一起,很不利于后期的管理

因为模块不仅仅只有index,admin

TP5.1自定义命名空间

 我们就可以把公共层单独提到外层data中,所以我们就需要来定义data的命名空间

 

其实我们想定义data的命名空间就是照猫画虎,我们可以来看看APP的命名空间是怎么定义的

可以看看入口文件的index.php文件

TP5.1自定义命名空间

我们会发现这个文件最终都会执行App.php的run方法

TP5.1自定义命名空间 

来接着看这个run方法的初始化应用方法initialize方法

TP5.1自定义命名空间

下来我们通过日志来打印一下这俩个参数(namespace,appPath ) 

打印出来我们就会发现第一个参数是命名空间,第二个是命名空间的路径

TP5.1自定义命名空间

TP5.1自定义命名空间

 

我们在这里试着注册一个data的命名空间

TP5.1自定义命名空间 

下来我们进行测试,在外层创建一个data的目录创建test文件TP5.1自定义命名空间

 

在index/index下做测试

TP5.1自定义命名空间 

测试结果:

发现我们的data的命名空间注册成功了

TP5.1自定义命名空间

但是我们注册的命名空间给的参数的写死的,这样肯定不完美

我们可以来查看一下app的这个路径是在哪设置的

TP5.1自定义命名空间

 

我们就把这行代码复制过去

TP5.1自定义命名空间 

我们在测试一下(也是成功)

 TP5.1自定义命名空间

如果我们不想在源码改动,我们可以写在公共文件common

TP5.1自定义命名空间