thinkPHP5 类库包注册

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了thinkPHP5 类库包注册相关的知识,希望对你有一定的参考价值。

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/‘,
]

最好都实践写下 更好理解

 

以上是关于thinkPHP5 类库包注册的主要内容,如果未能解决你的问题,请参考以下文章

thinkphp5 extend扩展库放哪里,该怎么new

使用NuGet发布自己的类库包(Library Package)

thinkphp如何生成条形码?

类库包:sl5 目标问题

创建自己的library类库包并使用webpack4.x打包发布到npm

thinkphp5 怎么导入类库