tp5的类库包注册分为自动注册和手动注册
自动注册
我们只需要把自己的类库包目录放入EXTEND_PATH
目录(默认为extend
,可配置),就可以自动注册对应的命名空间,例如:
我们在extend
目录下面新增一个my
目录,然后定义一个\my\Test
类( 类文件位于extend/my/Test.php
)如下:
namespace my;
class Test
{
public function sayHello()
{
echo ‘hello‘;
}
}
我们就可以直接实例化和调用:
$Test = new \my\Test();
$Test->sayHello();
如果我们在应用入口文件中重新定义了EXTEND_PATH
常量的话,还可以改变\my\Test
类文件的位置,例如:
define(‘EXTEND_PATH‘,‘../vendor/‘);
那么\my\Test
类文件的位置就变成了/vendor/my/File.php
。
手动注册
也可以通过手动注册的方式注册新的根命名空间,例如:
在应用公共文件中添加下面的代码:
\think\Loader::addNamespace(‘my‘,‘../application/extend/my/‘);
如果要同时注册多个根命名空间,可以使用:
\think\Loader::addNamespace([
‘my‘ => ‘../application/extend/my/‘,
‘org‘ => ‘../application/extend/org/‘,
]);
也可以直接在应用的配置文件中添加配置,系统会在应用执行的时候自动注册。
‘root_namespace‘ => [
‘my‘ => ‘../application/extend/my/‘,
‘org‘ => ‘../application/extend/org/‘,
]
最好都实践写下 更好理解
时间: 2024-10-10 21:32:07