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