第三方类库
第三方类库指除了 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 的首字母应该小写(官方手册为大写)。