vendorphp
‘壹’ Thinkphp 5怎么在控制器引入thinkphp\vendor 的第三方扩展
使用import方法载入第三方的类,然后直接new它的类名就行了。
‘贰’ Vendor 引入 php文件,并获取该php里的变量可以么
$say = Vendor('me.config');
vara_mp($say);
如果加载的文件是返回数组的形式,这样应该可以
‘叁’ php thinkphp vender第三方类找不到类怎么解决
实际上 vendor 方法是调用 import 方法来实现类库导入的,而且 vendor 方法也支持自定义导入路径。但
ThinkPHP 约定所有第三方框架的类库文件统一放到系统的 Vendor 目录下面,因此实际中尽可能的遵守该约定。
另外请格外注意 vendor
的首字母应该小写(官方手册为大写)。
‘肆’ thinkphp vendor方法引入第三方类失败
如果你的第三方类库都放在Vendor目录下面,并且都以.php为类文件后缀,也没用采用命名空间的话,那么可以使用系统内置的Vendor函数简化导入。
例如,我们把 Zend 的 FilterDir.php 放到 Vendor 目录下面,这个时候 Dir 文件的路径就是
VendorendFilterDir.php,我们使用vendor 方法导入只需要使用:
Vendor('Zend.Filter.Dir');
就可以导入Dir类库了。
Vendor方法也可以支持和import方法一样的基础路径和文件名后缀参数,例如:
Vendor('Zend.Filter.Dir',dirname(__FILE__),'.class.php');
你也可以看下import方法
//导入Org类库包Library/Org/Util/Date.class.php类库
import("Org.Util.Date");
//导入Home模块下面的Application/Home/Util/UserUtil.class.php类库
import("Home.Util.UserUtil");
//导入当前模块下面的类库
import("@.Util.Array");
//导入Vendor类库包Library/Vendor/Zend/Server.class.php
import('Vendor.Zend.Server');
你看下,仅供参考~
‘伍’ 话说TP框架里的Vendor这目录是干什么用的
第三方类库扩展目录Extend/Vendor目录
如果你直接使用的是第三方的类库包,或者是类名和后缀和ThinkPHP的默认规则不符合的,我们建议你放到第三方类库扩展目录Extend/Vendor目录下面,并使用vendor方法来导入。
例如,我们把Zend的Filter\Dir.php 放到Vendor目录下面,这个时候Dir文件的路径就是
Vendor\Zend\Filter\Dir.php,我们使用vendor方法导入就是:
Vendor('Zend.Filter.Dir');
需要注意的是,vendor方法默认导入的类库后缀是php的而不是class.php的,如果你的第三方类库的后缀是class.php,可以使用:
Vendor('Zend.Filter.Dir','','.class.php');
或者使用:
import('Zend.Filter.Dir',VENDOR_PATH);
通过使用第三方类库扩展,我们可以直接使用Zend、CI或者其他框架中的类库。
‘陆’ 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
的首字母应该小写(官方手册为大写)。
‘柒’ php中什么是第三方类库
如果你直接使用的是第三方的类库包,或者是类名和后缀和ThinkPHP的默认规则不符合的,我们建议你放到第三方类库扩展目录Extend/Vendor目录下面,并使用vendor方法来导入。
例如,我们把Zend的Filter\Dir.php 放到Vendor目录下面,这个时候Dir文件的路径就是
Vendor\Zend\Filter\Dir.php,我们使用vendor方法导入就是:
Vendor('Zend.Filter.Dir');
需要注意的是,vendor方法默认导入的类库后缀是php的而不是class.php的,如果你的第三方类库的后缀是class.php,可以使用:
Vendor('Zend.Filter.Dir','','.class.php');
或者使用:
import('Zend.Filter.Dir',VENDOR_PATH);
通过使用第三方类库扩展,我们可以直接使用Zend、CI或者其他框架中的类库。
‘捌’ 为什么PHPWord的源代码中没有vendor的文件夹
在PHPWord/bootstrap.php
中:
$vendorDirPath = realpath(__DIR__ . '/vendor');
if (file_exists($vendorDirPath . '/autoload.php')) {
require $vendorDirPath . '/autoload.php';
} else {
throw new Exception(
sprintf(
'Could not find file \'%s\'. It is generated by Composer. Use \'install --prefer-source\' or \'update --prefer-source\' Composer commands to move forward.',
$vendorDirPath . '/autoload.php'
)
);
}
但在这里:https://github.com/PHPOffice/...
并没有看到vendor的文件夹?
这是怎么回事?
composer install一下应该就会生成。
没用使用composer包管理就没有vendor。
throw的Exception里面已经写的很明白了
你开发一个项目通过composer进行包依赖管理, 然后把它开源把到github上, 但是你依赖的第三方库是没必要放到版本控制器中的.
只需要把composer.json文件放上去, read.me文件中一般会说明安装方式, 让你运行 composer install,
所以一般会把vendor忽略掉, git忽略掉vendor的方法是在 .gitignore 增加这个目录.
你也可以去后盾人那看看.那有很多教学视频的.定能帮你解答.
‘玖’ vendor/autoload.php怎么生成
整个vendor文件夹,以及下面的autoload.php都不需要用户自己手工创建,用户只需要写好composer.json文件,然后执行php
composer.phar
update,它就能自己建立相应的文件夹以及文件。
‘拾’ THINKPHP3.2 vendor用法 求解答
如果你的第三方类库都放在Vendor目录下面,并且都以.php为类文件后缀,也没用采用命名空间的话,那么可以使用系统内置的Vendor函数简化导入。 例如,我们把 Zend 的 Filter\Dir.php 放到 Vendor 目录下面,这个时候 Dir 文件的路径就是 Vendor\Zend\Filter\Dir.php,我们使用vendor 方法导入只需要使用:
Vendor('Zend.Filter.Dir');
就可以导入Dir类库了。
Vendor方法也可以支持和import方法一样的基础路径和文件名后缀参数,例如:
Vendor('Zend.Filter.Dir',dirname(__FILE__),'.class.php');
来自:http://document.thinkphp.cn/manual_3_2.html#autoload