thinkphp5 怎么导入类库

Posted

tags:

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

Thinkphp的类库主要包括公共类库和应用类库,都是基于命名空间进行定义和扩展的。只要按照规范定义,都可以实现自动加载。

类库存放位置:
Think目录:系统核心类库
Org目录:第三方公共类库

这些目录下面的类库都可以自动加载,只要把相应的类库放入目录中,然后添加或者修改命名空间定义。你可以在Org/Util/目录下面添加一个Image.class.php
文件,然后添加命名空间如下:
namespace Org\Util;
class Image


这样,就可以用下面的方式直接实例化Image类了:$image = new \Org\Util\Image;

公共类库除了在系统的Library目录之外,还可以自定义其他的命名空间,只需要注册一个新的命名空间,在应用或者模块配置文件中添加下面的设置参数:
'AUTOLOAD_NAMESPACE' => array(
'Lib' => APP_PATH.'Lib',
)

如果类库没有采用命名空间的话,需要使用import方法先加载类库文件,然后再进行实例化,例如:定义了一个Counter类(位于Com/Sina/Util/Counter.class.php):
import('Com.Sina.Util.Couter');
$object = new \Counter();
参考技术A

Thinkphp 5 怎么在控制器引入thinkphp\vendor 的第三方扩展

第三方类库指除了 ThinkPHP 框架、应用项目类库之外的其他类库,一般由第三方系统或产品提供,如 Smarty、Zend
等系统的类库等。

前面使用自动加载或 import 方法导入的类库,ThinkPHP 约定是以 .class.php
为后缀的,非这类的后缀,需要通过 import 的参数来控制。

但对第三类库,由于不会有此约定,其后缀只能认为是 php
。为了方便的引入其他框架和系统的类库,ThinkPHP 特意提供了导入第三方类库的功能。第三方类库统一放置在 ThinkPHP系统目录/Vendor
下面,并且使用 vendor 方法导入。
vendor 方法

vendor 方法的用法和 import
方法完全一致,只是其默认值略有差别。

语法:

boolen vendor(class, baseUrl,
ext)

参数说明: 参数 说明
class 必须,表示要导入的类库,采用命名空间的方式。
baseUrl
可选,表示导入的基础路径,省略的话系统采用 ThinkPHP系统目录/Vendor 目录。
ext 可选,表示导入的类库后缀,默认是 .php


与 import 方法的区别在于,vendor 方法默认的导入路径为 ThinkPHP系统目录/Vendor 目录,默认后缀为 .php

vendor 方法导入第三方类库例子

例如我们要引入 Zend 的 FilterDir.php 文件,我们把文件带目录放到 Vendor
目录下面,这个时候 Dir 文件的路径就是 VendorZendFilterDir.php 。使用 vendor
方法导入:

vendor('Zend.Filter.Dir');

同样对于包含 . 符号的文件,将 . 号用 # 符号代替,或者指定
ext 参数。
提示

实际上 vendor 方法是调用 import 方法来实现类库导入的,而且 vendor 方法也支持自定义导入路径。但
ThinkPHP 约定所有第三方框架的类库文件统一放到系统的 Vendor 目录下面,因此实际中尽可能的遵守该约定。

另外请格外注意 vendor
的首字母应该小写(官方手册为大写)。
参考技术A

使用import方法载入第三方的类,然后直接new它的类名就行了。

为了方便的引入其他框架和系统的类库ThinkPHP 特意提供了导入第三方类库的功能。第三方类库统一放置在 ThinkPHP系统目录/Vendor。下面,并且使用 vendor 方法导入。

vvendor 方法的用法和 import方法完全一致,只是其默认值略有差别。

参数说明: 参数说明class 必须表示要导入的类库,采用命名空间的方式。

baseUrl

可选,表示导入的基础路径,省略的话系统采用 ThinkPHP系统目录/Vendor 目录。

ext 可选,表示导入的类库后缀,默认是 .php。

与 import 方法的区别在于,vendor 方法默认的导入路径为 ThinkPHP系统目录/Vendor 目录,默认后缀为 .php。

vendor 方法导入第三方类库例子

例如我们要引入 Zend 的 FilterDir.php 文件,我们把文件带目录放到 Vendor

目录下面,这个时候 Dir 文件的路径就是 VendorZendFilterDir.php 。使用 vendor

方法导入:

vendor('Zend.Filter.Dir');

同样对于包含 . 符号的文件,将 . 号用 # 符号代替,或者指定ext 参数。

以上是关于thinkphp5 怎么导入类库的主要内容,如果未能解决你的问题,请参考以下文章

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

thinkphp5 自动加载的类 怎么使用

thinkphp5.0 中使用第三方无命名空间的类库

thinkphp5 生成二维码在模板中显示

thinkphp5.0.5怎么部署安装

thinkphp5.0自动加载