真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

ThinkPHP怎么導(dǎo)入第三方類(lèi)庫(kù)

今天小編給大家分享一下ThinkPHP怎么導(dǎo)入第三方類(lèi)庫(kù)的相關(guān)知識(shí)點(diǎn),內(nèi)容詳細(xì),邏輯清晰,相信大部分人都還太了解這方面的知識(shí),所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來(lái)了解一下吧。

十多年的阿城網(wǎng)站建設(shè)經(jīng)驗(yàn),針對(duì)設(shè)計(jì)、前端、開(kāi)發(fā)、售后、文案、推廣等六對(duì)一服務(wù),響應(yīng)快,48小時(shí)及時(shí)工作處理。成都營(yíng)銷(xiāo)網(wǎng)站建設(shè)的優(yōu)勢(shì)是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動(dòng)調(diào)整阿城建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無(wú)論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計(jì),從而大程度地提升瀏覽體驗(yàn)。創(chuàng)新互聯(lián)從事“阿城網(wǎng)站設(shè)計(jì)”,“阿城網(wǎng)站推廣”以來(lái),每個(gè)客戶項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。

第三方類(lèi)庫(kù)

第三方類(lèi)庫(kù)指除了ThinkPHP框架、應(yīng)用項(xiàng)目類(lèi)庫(kù)之外的其他類(lèi)庫(kù),一般由第三方系統(tǒng)或產(chǎn)品提供,如Smarty、Zend等系統(tǒng)的類(lèi)庫(kù)等。

前面使用自動(dòng)加載或import方法導(dǎo)入的類(lèi)庫(kù),ThinkPHP約定是以.class.php為后綴的,非這類(lèi)的后綴,需要通過(guò)import的參數(shù)來(lái)控制。

但對(duì)第三類(lèi)庫(kù),由于不會(huì)有此約定,其后綴只能認(rèn)為是php。為了方便的引入其他框架和系統(tǒng)的類(lèi)庫(kù),ThinkPHP特意提供了導(dǎo)入第三方類(lèi)庫(kù)的功能。第三方類(lèi)庫(kù)統(tǒng)一放置在ThinkPHP系統(tǒng)目錄/Vendor下面,并且使用vendor方法導(dǎo)入。

vendor方法

語(yǔ)法:

boolenvendor(class,baseUrl,ext)

參數(shù)說(shuō)明:

參數(shù)說(shuō)明

class必須,表示要導(dǎo)入的類(lèi)庫(kù),采用命名空間的方式。

baseUrl可選,表示導(dǎo)入的基礎(chǔ)路徑,省略的話系統(tǒng)采用ThinkPHP系統(tǒng)目錄/Vendor目錄。

ext可選,表示導(dǎo)入的類(lèi)庫(kù)后綴,默認(rèn)是.php。

與import方法的區(qū)別在于,vendor方法默認(rèn)的導(dǎo)入路徑為T(mén)hinkPHP系統(tǒng)目錄/Vendor目錄,默認(rèn)后綴為.php。

個(gè)人經(jīng)驗(yàn)分享:

當(dāng)我們想在ThinkPHP中引入第三方擴(kuò)展,而第三方擴(kuò)展又沒(méi)有按照ThinkPHP的規(guī)范在編寫(xiě)的時(shí)候時(shí),就需要將第三方擴(kuò)展放置到Library/Vendor目錄下,當(dāng)然,這是針對(duì)ThinkPHP3.2而言,低版本則根據(jù)情況來(lái)看了。

然后需要在Controller或function中使用第三方擴(kuò)展時(shí),就可以直接使用vendor()方法來(lái)進(jìn)行引用了。

第三方類(lèi)庫(kù)目錄結(jié)構(gòu):

在function函數(shù)中使用:

第一種方法:

Vendor('Phpqrcode.phpqrcode');

復(fù)制代碼

復(fù)制代碼

/**

*生成二維碼

*@paramstring$urlurl連接

*@paraminteger$size尺寸純數(shù)字

*/

functionqrcode($url,$size=4){

Vendor('Phpqrcode.phpqrcode');

if(strpos($url,'http')===false){

$url='http://'.$url;

}

QRcode::png($url,false,QR_ECLEVEL_L,$size,2,false,0xFFFFFF,0x000000);

}

復(fù)制代碼

復(fù)制代碼

第二種方法:

require'./ThinkPHP/Library/Org/Nx/class.phpmailer.php';

require'./ThinkPHP/Library/Org/Nx/class.smtp.php';

復(fù)制代碼

復(fù)制代碼

/**

*發(fā)送郵件

*@paramstring$address需要發(fā)送的郵箱地址發(fā)送給多個(gè)地址需要寫(xiě)成數(shù)組形式

*@paramstring$subject標(biāo)題

*@paramstring$content內(nèi)容

*@returnboolean是否成功

*/

functionsend_email($address,$subject,$content){

$email_smtp=C('EMAIL_SMTP');

$email_username=C('EMAIL_USERNAME');

$email_password=C('EMAIL_PASSWORD');

$email_from_name=C('EMAIL_FROM_NAME');

if(empty($email_smtp)||empty($email_username)||empty($email_password)||empty($email_from_name)){

returnarray("error"=>1,"message"=>'郵箱配置不完整');

}

require'./ThinkPHP/Library/Org/Nx/class.phpmailer.php';

require'./ThinkPHP/Library/Org/Nx/class.smtp.php';

$phpmailer=new\Phpmailer();

//設(shè)置PHPMailer使用SMTP$order['subject']//商品名稱(chēng)商品的標(biāo)題/交易標(biāo)題/訂單標(biāo)題/訂單關(guān)鍵字等

);

$alipay=new\AlipaySubmit($config);

$new=$alipay->buildRequestPara($data);

$go_pay=$alipay->buildRequestForm($new,'get','支付');

echo$go_pay;

}

復(fù)制代碼

復(fù)制代碼

不過(guò)當(dāng)我將PHPMailer放在Vendor目錄下后,在本機(jī)運(yùn)行得好好得,最近將程序上傳到服務(wù)器上時(shí),直接提示Class‘PHPMailer’notfound然后又在本機(jī)運(yùn)行,還是正確!通過(guò)前面這片博客可以知道,我是通過(guò)vendor('PHPMailer.class#PHPMailer');

這行代碼將PHPMailer引入的。既然提示找不到PHPMailer類(lèi),說(shuō)明沒(méi)有被正確引入。這是為什么呢?

就粗略看了一下vendor()方法的源碼,這才發(fā)現(xiàn)其實(shí)vendor()方法也就是對(duì)import()方法進(jìn)行了一次參數(shù)組裝,然后還是交給了import()方法處理。查看import()方法的源碼又發(fā)現(xiàn),在import()方法中,對(duì)于上面?zhèn)魅雲(yún)?shù)的解析其實(shí)就是將’.’替換成’/’,將’#’替換成了’.’,baseurl則由vendor()方法自動(dòng)補(bǔ)充上了,指向Vendor目錄。所以上面vendor()方法中的參數(shù)最終還是被解析成了如下目錄:

Library/Vendor/PHPMailer/class.PHPMailer.php

而PHPMailer的入口文件的實(shí)際目錄地址為:

Library/Vendor/phpmailer/class.phpmailer.php

內(nèi)容都一樣的嘛!不過(guò)我用的是Linux的服務(wù)器,所以對(duì)大小寫(xiě)是嚴(yán)格區(qū)分的,這樣當(dāng)然不能成功導(dǎo)入這個(gè)類(lèi)。而解決辦法就是將vendor()引入改為:

vendor(‘phpmailer.class#phpmailer’)

另外對(duì)于PHPMailer使用時(shí)還要注意一點(diǎn),PHPMailer如果使用SMTP方式發(fā)送郵件,需要PHP對(duì)fsockopen的支持,所以我們需要修改php.ini中disable_functions中將fscokopen刪除,否則會(huì)出現(xiàn)運(yùn)行錯(cuò)誤:

fsockopen()hasbeendisabled

通過(guò)PHPMailer的ErrorInfo屬性可以獲取到!

以上就是“ThinkPHP怎么導(dǎo)入第三方類(lèi)庫(kù)”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會(huì)為大家更新不同的知識(shí),如果還想學(xué)習(xí)更多的知識(shí),請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。


標(biāo)題名稱(chēng):ThinkPHP怎么導(dǎo)入第三方類(lèi)庫(kù)
瀏覽路徑:
http://weahome.cn/article/jssdee.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部