TP命名空间
我的理解:作用就是如目录,区分开各文件
目录=文件夹
namespace:路径写到目录名;如:controller是对应文件的上级目录
namespace app\pc\controller;
use:路径写到类名;如:Controller是类名
use think\Controller;
as:取别名;如:
use aaa\Test;
use bbb\Test as b_Test;
\:获取顶级命名空间的类(其实就是这个类没写命名空间);如:
new \Test()
一,关于使用:
首先得了解一下TP类的自动加载,不然调用时可能无反应
https://blog.csdn.net/qq_41912505/article/details/102842895
扫描二维码关注公众号,回复: 9744359 查看本文章
- 同一个目录中:不需要use,直接new且不需加“\” ;如:
new Eefn();
- 不同目录且没有命名空间:用“\”;如:
new \Eefn();
- 不同目录且有命名空间:用use再new或者new时用路径;如:
use script\a\Eefn;
new \script\a\Eefn();
二,如果不了解TP类的自动加载
首先必然的是加载类,require,include
__DIR__:当前路径
require_once (__DIR__ ."/../../../eefn/Test.php");//或者
require __DIR__ ."/../../../eefn/Test.php";
2.类如果没有取命名空间,则默认是顶级命名空间。实例需加反斜杠:“\”
$a = new \Test();
$a->say();
三,.如果use了两个名字相同的类名,用as取别名区分
use aaa\Test;
use bbb\Test as b_Test;
$a = new Text();
$b = new B_Text();
参考文献:https://www.php.cn/php-weizijiaocheng-392925.html
附:
静态方法只能调用静态的东西,且用self::代替$this
上线app:
苹果开发账户申请
蒲公英