国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

ホームページ PHPフレームワーク ThinkPHP ThinkPHP にサードパーティのライブラリをインポートする方法

ThinkPHP にサードパーティのライブラリをインポートする方法

Jun 03, 2023 pm 05:15 PM
thinkphp

サードパーティのクラス ライブラリ

サードパーティのクラス ライブラリとは、ThinkPHP フレームワークやアプリケーション プロジェクトのクラス ライブラリ以外のクラス ライブラリを指し、通常、Smarty、Zend などのシステムのクラス ライブラリなど、サードパーティのシステムまたは製品によって提供されます。

自動(dòng)読み込みまたはインポート メソッドを使用して以前にインポートされたクラス ライブラリの場合、ThinkPHP の規(guī)則では、サフィックスとして .class.php を使用することになっています。そのようなサフィックス以外のサフィックスは、インポート パラメータを通じて制御する必要があります。

しかし、3 番目のタイプのライブラリの場合は、そのような取り決めがないため、その接尾辭は php としか考えられません。他のフレームワークやシステムからクラス ライブラリを簡単に導(dǎo)入するために、ThinkPHP はサードパーティのクラス ライブラリをインポートする機(jī)能を特別に提供します。サードパーティのクラス ライブラリは、ThinkPHP システム ディレクトリ/Vendor の下に均一に配置され、vendor メソッドを使用してインポートされます。

ベンダーの方法

文法:###### boolenvendor(クラス,baseUrl,ext)

パラメータの説明:

パラメータの説明

Class は必須であり、インポートされるクラス ライブラリを名前空間の形式で示します。

BaseUrl はオプションで、インポートのベース パスを示します。省略した場合、システムは ThinkPHP システム ディレクトリ/Vendor ディレクトリを使用します。

ext はオプションで、インポートされたクラス ライブラリのサフィックスを示します。デフォルトは .php です。

インポート方式との違いは、ベンダー方式のデフォルトのインポート パスが ThinkPHP システム ディレクトリ/Vendor ディレクトリであり、デフォルトのサフィックスが .php であることです。

個(gè)人的な経験の共有:

サードパーティの拡張機(jī)能を ThinkPHP に導(dǎo)入する必要があり、そのサードパーティの拡張機(jī)能が ThinkPHP の仕様に従って記述されていない場合は、サードパーティの拡張機(jī)能を Library/Vendor ディレクトリに配置する必要があります。もちろん、これは ThinkPHP3 用です。 .2 つまり、下位バージョンは狀況に応じて異なります。

その後、コントローラーまたは関數(shù)でサードパーティの拡張機(jī)能を使用する必要がある場合、vendor() メソッドを直接使用してそれを參照できます。

サードパーティライブラリのディレクトリ構(gòu)造:

関數(shù)関數(shù)で使用:

最初の方法:

ベンダー('Phpqrcode.phpqrcode');

コードをコピー

# コードをコピー

# /**

*QR コードを生成します

*@paramstring$urlurl 接続

*@paraminteger$size サイズの純粋な數(shù)値

?*/

functionqrcode($url,$size=4){

ベンダー('Phpqrcode.phpqrcode');

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

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

}

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

}

コードをコピー

# コードをコピー

# 2 番目の方法:

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

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

コードをコピー

# コードをコピー

# /**

*メールを送る###### *@paramstring$address 複數(shù)のアドレスに送信するメールアドレスは配列形式で記述する必要があります

*@paramstring$subjecttitle

*@paramstring$contentコンテンツ

*@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"=>'メールボックスの構(gòu)成が不完全です');

}

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

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

$phpmailer=new\Phpmailer();

//SMTP サーバーを使用して電子メールを送信するように PHPMailer を設(shè)定します

$phpmailer->IsSMTP();

//html形式に設(shè)定

$phpmailer->IsHTML(true);

//メールの文字エンコーディングを設(shè)定します'

$phpmailer->CharSet='UTF-8';

//SMTPサーバーを設(shè)定します。

$phpmailer->ホスト=$email_smtp;

//「検証が必要」に設(shè)定します

$phpmailer->SMTPAuth=true;

//ユーザー名を設(shè)定します

$phpmailer->ユーザー名=$email_username;

//パスワードを設(shè)定してください###### $phpmailer->パスワード=$email_password;

//メールヘッダーのFromフィールドを設(shè)定します。

$phpmailer->From=$email_username;

//送信者名を設(shè)定します

$phpmailer->FromName=$email_from_name;

//受信者のアドレスを追加します。これは複數(shù)の受信者を追加するために複數(shù)回使用できます

if(is_array($address)){

foreach($addressas$addressv){

$phpmailer->AddAddress($addressv);

}

}その他{

$phpmailer->AddAddress($address);

}

//メールのタイトルを設(shè)定します

$phpmailer->件名=$件名;

//メール本文を設(shè)定します

$phpmailer->Body=$content;

//メールを送る。

if(!$phpmailer->Send()){

$phpmailererror=$phpmailer->エラー情報(bào);

returnarray("error"=>1,"message"=>$phpmailererror);

}その他{

returnarray("error"=>0);

}

}

コードをコピー

# コードをコピー

# 3 番目の方法:

Alipay ライブラリのディレクトリ構(gòu)造

ベンダー('Alipay.AlipaySubmit','','.class.php');

注: ベンダーによってロードされるデフォルトのサフィックスは、.php の

です。 パラメータ 1: 必須。名前空間メソッド

# を使用してインポートされるクラス ライブラリを示します。 パラメータ 2: インポートのベース パスを示すオプション。省略した場合、システムは ThinkPHP システム ディレクトリ/ベンダー ディレクトリを使用します。

パラメータ 3: オプション。インポートされたクラス ライブラリのサフィックスを示します。デフォルトは .php です。

Alipay サードパーティのケース コード:

コードをコピー

# コードをコピー

# /**

* Alipay 支払いへジャンプします

*@paramarray$order 注文データには、out_trade_no (注文番號(hào))、price (注文金額)、subject (商品名タイトル)

が含まれている必要があります。 ?*/

Functionipay($order){

ベンダー('Alipay.AlipaySubmit','','.class.php');

//設(shè)定を取得

# $config=C('ALIPAY_CONFIG');

$data=配列(

"_input_charset"=>$config['input_charset'],//エンコード形式

"logistics_fee"=>"0.00",//物流手?jǐn)?shù)料

"logistics_payment"=>"SELLER_PAY",//物流支払方法 SELLER_PAY (売り手負(fù)擔(dān))、BUYER_PAY (買い手負(fù)擔(dān))

"logistics_type"=>"EXPRESS",//物流タイプ EXPRESS (速達(dá))、POST (船便)、EMS (EMS)

"notify_url"=>$config['notify_url'],//支払いステータス通知を非同期で受信するためのリンク

"out_trade_no"=>$order['out_trade_no'],//注文番號(hào)

"partner"=>$config['partner'],//パートナーは Alipay Merchant Version Personal Center から取得されます

"payment_type"=>"1", //支払いタイプはリクエストのpayment_typeパラメータに対応しており、そのまま返されます。 1

に設(shè)定するだけです "price"=>$order['price'],//注文価格の単位は元

です //"price"=>0.01,////価格調(diào)整はテストに使用されます

"quantity"=>"1",//価格と數(shù)量を total_fee に置き換えることができます。つまり、total_fee が存在する場合、価格と數(shù)量は存在できず、価格と數(shù)量が存在する場合、total_fee は存在できません。 (理解できませんでした。わかりました。このパラメータは無視してください)

"receive_address"=>'1',//荷受人の住所への即時(shí)支払い方法はこのパラメータを無視できます

"receive_mobile"=>'1',//荷受人の攜帯電話番號(hào)の即時(shí)支払い方法を無視します

"receive_name"=>'1',//荷受人の名前の即時(shí)支払い方法は無視してください

"receive_zip"=>'1',//荷受人の郵便番號(hào)の即時(shí)到著方法は無視できます

"return_url"=>$config['return_url'], //ページ ジャンプ同期通知ページ パス Alipay がリクエストを処理した後、現(xiàn)在のページはマーチャント Web サイト內(nèi)の指定されたページの http パスに自動(dòng)的にジャンプします。

"seller_email"=>$config['seller_email'],//電子メールは Alipay Merchant Version Personal Center から取得されます

"service"=>"create_direct_pay_by_user", //インターフェース名は create_direct_pay_by_user

に固定されます "show_url"=>$config['show_url'], //製品表示 URL、チェックアウト ページでの製品表示のハイパーリンク。

"subject"=>$order['subject']//商品名、商品タイトル/取引タイトル/注文タイトル/注文キーワードなど

);

$alipay=new\AlipaySubmit($config);

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

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

echo$go_pay;

}

コードをコピー

# コードをコピー

# しかし、PHPMailer を Vendor ディレクトリに置くと、このマシンでは正常に動(dòng)作しましたが、最近、プログラムをサーバーにアップロードすると、クラス "PHPMailer" が見つからないというメッセージが直接表示され、このマシンで再度実行すると、正常に動(dòng)作しました。まだ正しいです!前回のブログからわかるように、vendor('PHPMailer.class#PHPMailer');

を渡しました。 このコード行では PHPMailer が導(dǎo)入されています。プロンプトでは PHPMailer クラスが見つからないため、正しく導(dǎo)入されていないことを意味します。どうしてこれなの?

Vendor() メソッドのソース コードをざっと見たところ、vendor() メソッドは実際には import() メソッドのパラメータをアセンブルし、その後は import() メソッドに処理を任せていることがわかりました。 import() メソッドのソース コードを見ると、import() メソッドでは、上記の受信パラメータの分析が実際には ’.’ を ’/’ および ’#&rsquo に置き換えることであることがわかりました。 ; ;.’ を使用すると、baseurl は、vendor ディレクトリを指す、vendor() メソッドによって自動(dòng)的に追加されます。したがって、上記のvendor()メソッドのパラメータは最終的に次のディレクトリに解析されます:

ライブラリ/ベンダー/PHPMailer/class.PHPMailer.php

PHPMailer のエントリ ファイルの実際のディレクトリ アドレスは次のとおりです:

ライブラリ/ベンダー/phpmailer/class.phpmailer.php

內(nèi)容は同じです!ただし、私は Linux サーバーを使用しているため、厳密に大文字と小文字が區(qū)別されるため、當(dāng)然このクラスは正常にインポートできません。解決策は、vendor() を?qū)毪?、次のように変更することです?ベンダー(‘phpmailer.class#phpmailer’)

さらに、PHPMailer を使用するときに注意すべき點(diǎn)が 1 つあります。PHPMailer が SMTP を使用して電子メールを送信する場合、PHP は fsockopen をサポートする必要があるため、php.ini の disable_functions を変更して fscokopen を削除する必要があります。そうしないと、実行エラーが発生します。

# fsockopen() が無効になりました

# これは、PHPMailer の ErrorInfo 屬性を通じて取得できます。

以上がThinkPHP にサードパーティのライブラリをインポートする方法の詳細(xì)內(nèi)容です。詳細(xì)については、PHP 中國語 Web サイトの他の関連記事を參照してください。

このウェブサイトの聲明
この記事の內(nèi)容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰屬します。このサイトは、それに相當(dāng)する法的責(zé)任を負(fù)いません。盜作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡(luò)ください。

ホットAIツール

Undress AI Tool

Undress AI Tool

脫衣畫像を無料で

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード寫真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

寫真から衣服を削除するオンライン AI ツール。

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中國語版

SublimeText3 中國語版

中國語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強(qiáng)力な PHP 統(tǒng)合開発環(huán)境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

thinkphpプロジェクトの実行方法 thinkphpプロジェクトの実行方法 Apr 09, 2024 pm 05:33 PM

ThinkPHP プロジェクトを?qū)g行するには、Composer をインストールし、Composer を使用してプロジェクトを作成し、プロジェクト ディレクトリに入り、php bin/consoleserve を?qū)g行し、http://localhost:8000 にアクセスしてようこそページを表示する必要があります。

thinkphp にはいくつかのバージョンがあります thinkphp にはいくつかのバージョンがあります Apr 09, 2024 pm 06:09 PM

ThinkPHP には、さまざまな PHP バージョン向けに設(shè)計(jì)された複數(shù)のバージョンがあります。メジャー バージョンには 3.2、5.0、5.1、および 6.0 が含まれますが、マイナー バージョンはバグを修正し、新機(jī)能を提供するために使用されます。最新の安定バージョンは ThinkPHP 6.0.16 です。バージョンを選択するときは、PHP バージョン、機(jī)能要件、コミュニティ サポートを考慮してください。最高のパフォーマンスとサポートを得るには、最新の安定バージョンを使用することをお?jiǎng)幛幛筏蓼埂?/p>

thinkphpの実行方法 thinkphpの実行方法 Apr 09, 2024 pm 05:39 PM

ThinkPHP フレームワークをローカルで実行する手順: ThinkPHP フレームワークをローカル ディレクトリにダウンロードして解凍します。 ThinkPHP ルート ディレクトリを指す仮想ホスト (オプション) を作成します。データベース接続パラメータを構(gòu)成します。 Webサーバーを起動(dòng)します。 ThinkPHP アプリケーションを初期化します。 ThinkPHP アプリケーションの URL にアクセスして実行します。

laravelとthinkphpではどちらが優(yōu)れていますか? laravelとthinkphpではどちらが優(yōu)れていますか? Apr 09, 2024 pm 03:18 PM

Laravel フレームワークと ThinkPHP フレームワークのパフォーマンスの比較: ThinkPHP は、最適化とキャッシュに重點(diǎn)を置いて、一般に Laravel よりもパフォーマンスが優(yōu)れています。 Laravel は優(yōu)れたパフォーマンスを発揮しますが、複雑なアプリケーションの場合は、ThinkPHP の方が適している可能性があります。

thinkphpのインストール方法 thinkphpのインストール方法 Apr 09, 2024 pm 05:42 PM

ThinkPHP のインストール手順: PHP、Composer、および MySQL 環(huán)境を準(zhǔn)備します。 Composer を使用してプロジェクトを作成します。 ThinkPHP フレームワークと依存関係をインストールします。データベース接続を構(gòu)成します。アプリケーションコードを生成します。アプリケーションを起動(dòng)し、http://localhost:8000 にアクセスします。

thinkphpのパフォーマンスはどうですか? thinkphpのパフォーマンスはどうですか? Apr 09, 2024 pm 05:24 PM

ThinkPHP は、キャッシュ メカニズム、コードの最適化、並列処理、データベースの最適化などの利點(diǎn)を備えた高性能 PHP フレームワークです。公式パフォーマンステストでは、1秒あたり10,000以上のリクエストを処理できることが示されており、実際のアプリケーションではJD.comやCtripなどの大規(guī)模なWebサイトやエンタープライズシステムで広く使用されています。

開発に関する提案: API 開発に ThinkPHP フレームワークを使用する方法 開発に関する提案: API 開発に ThinkPHP フレームワークを使用する方法 Nov 22, 2023 pm 05:18 PM

開発の提案: API 開発に ThinkPHP フレームワークを使用する方法 インターネットの継続的な発展に伴い、API (アプリケーション プログラミング インターフェイス) の重要性がますます高まっています。 API は、異なるアプリケーション間の通信の橋渡しとなるもので、データの共有や関數(shù)の呼び出しなどを?qū)g現(xiàn)し、開発者に比較的簡単かつ迅速な開発手法を提供します。優(yōu)れた PHP 開発フレームワークである ThinkPHP フレームワークは、効率的でスケーラブルで使いやすいです。

開発に関する提案: ThinkPHP フレームワークを使用して非同期タスクを?qū)g裝する方法 開発に関する提案: ThinkPHP フレームワークを使用して非同期タスクを?qū)g裝する方法 Nov 22, 2023 pm 12:01 PM

「開発に関する提案: ThinkPHP フレームワークを使用して非同期タスクを?qū)g裝する方法」 インターネット技術(shù)の急速な発展に伴い、Web アプリケーションには、多數(shù)の同時(shí)リクエストと複雑なビジネス ロジックを処理するための要件が??ますます高まっています。システムのパフォーマンスとユーザー エクスペリエンスを向上させるために、開発者は多くの場合、電子メールの送信、ファイルのアップロードの処理、レポートの生成など、時(shí)間のかかる操作を?qū)g行するために非同期タスクの使用を検討します。 PHP の分野では、人気のある開発フレームワークとして ThinkPHP フレームワークが、非同期タスクを?qū)g裝するための便利な方法をいくつか提供しています。

See all articles