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

最好都实践写下 更好理解

时间: 2024-10-10 21:32:07

thinkPHP5 类库包注册的相关文章

NuGet——发布自己的类库包

简单介绍: NuGet是.Net平台下的一个开源项目,它是VS的一个扩展,在使用VS开发基于.NET  Framework的应用时,NuGet能够把项目中添加,删除,更新引用的工作变得更加快捷方便.简单点,NuGet就是可以把DLL文件/文件添加到项目中,进而省略了繁琐而古老的拷贝方式. 学习背景: 刚接手系统的时候,是因为自己对于需求特别的了解,但是由于之前的种种原因,自己对于这短时间学习的了解的新知识是一无所知啊!所以当时接手的第一感觉就是学生端--我该如何调用其他的接口呢?如果拷贝/调用-

【.NET】NuGet发布类库包,轻松管理dll文件

大中型项目中总是有专门人员去开发和维护底层类库的,封装自己的类库不仅可以提高代码的复用度,减少开发量,使代码更简洁,还可以提高运行速度.但是,类库方法的增加与修改导致使用该类库的系统开发人员频繁地删除和添加引用.如果底层dll文件过多,任何一次变动都将导致高错误率的修改!!为了方便管理dll文件,我们使用NuGet动态更新的方式. 如果您是类库的开发者与维护者,请阅读发布篇.如果您是基于类库的开发者,请阅读使用篇. 发布篇: (假设此时您已经开发好了一个类库.) 1.下载NuGet.exe,并将

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

STEP 1:注册并获取API Key 首先,你需要到NuGet上注册一个新的账号,然后在My Account页面,获取一个API Key,这个过程很简单,我就不作说明了. STEP 2:下载NuGet.exe NuGet有个命令行工具:NuGet.exe;为了方便使用,请设置机器的PATH环境变量[exe所在目录],将NuGet.exe的路径添加到PATH中. 在http://nuget.codeplex.com/releases页面底部找到NuGet.exe,点击下载即可 STEP 3:设置

.net利用nuget管理类库包——各系统交互

高校云平台,开发过程中,每个团队开发一个子系统.每个子系统内部又分别开个各子模块. 对于整个平台来说,各自的开发不影响其他人的开发.即面向接口的编程. 那么对于各个模块来说,又是如何统一调用其他模块的接口的呢? 在开发过程中,接口的开发与使用 肯定是不定时更新的.那么整个平台就肯定使用一个工具来统一管理 各个模块的接口. 使用nuget进行管理各个模块的类库.每个发布一个自己的接口.如果调用其他的系统,则进行引用. 例如,考试系统的数据,大都来自与基础系统.所以需要引用平台下,基础系统的dll文

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

NuGet是一个为大家所熟知的Visual Studio扩展,通过这个扩展,开发人员可以非常方便地在Visual Studio中安装或更新项目中所需要的第三方组件,同时也可以通过NuGet来安装一些Visual Studio的插件等.作为一名开发人员,您可能也会开发一些公共组件以供他人使用,本文将一步步介绍如何以最简单的方式将自己所开发的类库包发布到nuget上,以供更多的人使用. 背景 如果你还是不知道什么是NuGet,那么就看这样一个案例:我现在需要在我的项目中引用Castle.Core程序

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

我们在开发过程中,可能经常要使用第三方类库,比如jquery.lodash等.我们通过npm,下载安装完之后,就可以使用了,简单方便.我们自己可以创建一个类库,然后供其他人这样安装使用吗?当然是可以的. 下面我们就来说说. 1. 创建自己的类库 index.js import numRef from './ref.json' const numberWord = () => { const numToWord = (num) => { let returnValue = _.reduce(nu

在 CentOS7 上将自定义的 jar 包注册为 linux 服务 service

在 CentOS7 上将自定义的 jar 包注册为 linux 服务 service 1.在 /etc/rc.d/init.d/ 目录下创建一个名字和服务名完全相同的 shell 脚本文件 joyupx: vim joyupx /etc/rc.d/init.d/ 目录中存放的一般都是 shell 脚本文件,但是文件名不可以带后缀“.sh”: 服务名必须与其 /etc/rc.d/init.d/ 目录下关联的配置文件名称完全相同,否则报找不到这样的服务: 2.在 joyupx 文件中加入如下代码:

java 基本类库包的作用

tools.jar:工具类库,它跟我们程序中用到的基础类库没有关系. Jre库包含的jar文件(jdk1.6):resources.jar.rt.jar.jsse.jar.jce.jar.charsets.jar.dnsns.jar.localedata.jar等共10个jar文件,其中resource.jar为资源包(图片.properties文件):rt.jar为运行时包 java.*.javax.*包,org.*包: 1.作为J2SE的API公开接口的一部分,与操作系统无关可以在所有Jav

通过JavaService 将java jar包注册成Windows 服务

一. 下载Javaservice ,把压缩文件解压,放到本地磁盘.下载地址:JavaService 64位 http://download.forge.ow2.org/javaservice/JavaService_2_0_10-amd64.zip JavaService 32位 http://download.forge.ow2.org/javaservice/JavaService-2.0.10.zip二. 准备jar包,查看jar 包Main函数所在的class三. 将jar包.解压后的J