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

Rumah rangka kerja php ThinkPHP Cara mengimport perpustakaan pihak ketiga dalam ThinkPHP

Cara mengimport perpustakaan pihak ketiga dalam ThinkPHP

Jun 03, 2023 pm 05:15 PM
thinkphp

Pustaka kelas pihak ketiga

Perpustakaan kelas pihak ketiga merujuk kepada perpustakaan kelas lain selain rangka kerja ThinkPHP dan perpustakaan kelas projek aplikasi Ia biasanya disediakan oleh sistem atau produk pihak ketiga, seperti perpustakaan kelas Smarty, Zend dan sistem lain.

Untuk perpustakaan kelas yang diimport lebih awal menggunakan pemuatan automatik atau kaedah import, konvensyen ThinkPHP adalah menggunakan .class.php kerana akhiran bukan sedemikian perlu dikawal melalui parameter import.

Tetapi untuk perpustakaan kategori ketiga, kerana tidak ada perjanjian sedemikian, akhirannya hanya boleh dianggap sebagai php. Untuk memperkenalkan perpustakaan kelas dengan mudah daripada rangka kerja dan sistem lain, ThinkPHP secara khusus menyediakan fungsi mengimport perpustakaan kelas pihak ketiga. Perpustakaan kelas pihak ketiga diletakkan secara seragam di bawah direktori/Vendor sistem ThinkPHP dan diimport menggunakan kaedah vendor.

Kaedah vendor

Tatabahasa:

boolenvendor(class,baseUrl,ext)

Perihalan parameter:

Perihalan parameter

Kelas diperlukan, menunjukkan perpustakaan kelas akan diimport, dalam bentuk ruang nama.

baseUrl adalah pilihan, menunjukkan laluan asas import Jika ditinggalkan, sistem menggunakan direktori sistem ThinkPHP/direktori Vendor.

ext adalah pilihan, menunjukkan akhiran perpustakaan kelas yang diimport, lalai ialah .php.

Perbezaan daripada kaedah import ialah laluan import lalai kaedah vendor ialah direktori sistem ThinkPHP/direktori Vendor, dan akhiran lalai ialah .php.

Perkongsian pengalaman peribadi:

Apabila kami ingin memperkenalkan sambungan pihak ketiga ke dalam ThinkPHP, dan sambungan pihak ketiga tidak ditulis mengikut spesifikasi ThinkPHP, kami perlu meletakkan sambungan pihak ketiga dalam direktori Perpustakaan/Vendor Sudah tentu, ini untuk ThinkPHP3 .2 Dalam erti kata lain, versi yang lebih rendah bergantung kepada keadaan.

Kemudian apabila anda perlu menggunakan sambungan pihak ketiga dalam Pengawal atau fungsi, anda boleh terus menggunakan kaedah vendor() untuk merujuknya.

Struktur direktori perpustakaan pihak ketiga:

?Digunakan dalam fungsi fungsi:

Kaedah pertama:

Vendor('Phpqrcode.phpqrcode');

Salin kod

Salin kod

/**

*Jana kod QR

*sambungan @paramstring$urlurl

*@paraminteger$size saiz nombor tulen

,*/

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);

?}

Salin kod

Salin kod

Kaedah kedua:

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

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

Salin kod

Salin kod

/**

*Hantar e-mel

*@paramstring$address Alamat e-mel yang akan dihantar ke berbilang alamat perlu ditulis dalam bentuk tatasusunan

*@paramstring$tajuk subjek

*@paramstring$kandungan kandungan

*@returnboolean berjaya

,*/

?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(kosong($email_smtp)||kosong($email_username)||kosong($email_kata laluan)||kosong($email_from_name)){

returnarray("error"=>1,"message"=>'Konfigurasi peti mel tidak lengkap');

?}

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

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

?$phpmailer=newPhpmailer();

//Sediakan PHPMailer untuk menggunakan pelayan SMTP untuk menghantar e-mel

?$phpmailer->IsSMTP();

//Tetapkan kepada format html

?$phpmailer->IsHTML(true);

//Tetapkan pengekodan aksara e-mel'

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

//Sediakan pelayan SMTP.

?$phpmailer->Host=$email_smtp;

//Tetapkan kepada "Memerlukan pengesahan"

?$phpmailer->SMTPauth=true;

//Tetapkan nama pengguna

?$phpmailer->Username=$email_username;

//Tetapkan kata laluan

?$phpmailer->Kata Laluan=$email_password;

//Tetapkan medan Daripada pengepala e-mel.

?$phpmailer->From=$email_username;

//Tetapkan nama pengirim

?$phpmailer->FromName=$email_from_name;

//Tambah alamat penerima, yang boleh digunakan berbilang kali untuk menambah berbilang penerima

?if(is_array($address)){

?foreach($addressas$addressv){

?$phpmailer->AddAddress($addressv);

?}

?}lain{

?$phpmailer->AddAddress($address);

?}

//Tetapkan tajuk e-mel

?$phpmailer->Subject=$subject;

//Tetapkan badan e-mel

?$phpmailer->Body=$content;

//Hantar e-mel.

?jika(!$phpmailer->Hantar()){

?$phpmailererror=$phpmailer->ErrorInfo;

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

?}lain{

returnarray("error"=>0);

?}

?}

Salin kod

Salin kod

Kaedah ketiga:

Struktur direktori perpustakaan Alipay

vendor('Alipay.AlipaySubmit','','.class.php');

Nota: Akhiran lalai yang dimuatkan oleh Vendor ialah .php

Parameter 1: Diperlukan, menunjukkan perpustakaan kelas untuk diimport, menggunakan kaedah ruang nama

Parameter 2: Pilihan, menunjukkan laluan asas import Jika ditinggalkan, sistem menggunakan direktori sistem ThinkPHP/direktori Vendor.

Parameter tiga: Pilihan, menunjukkan akhiran perpustakaan kelas yang diimport, lalai ialah .php.

Kod kes pihak ketiga Alipay:

Salin kod

Salin kod

/**

* Lompat ke Alipay untuk membayar

*Data pesanan @paramarray$order mesti termasuk out_trade_no (nombor pesanan), harga (jumlah pesanan), subjek (tajuk nama produk)

,*/

functionalipay($order){

vendor('Alipay.AlipaySubmit','','.class.php');

//Dapatkan konfigurasi

?$config=C('ALIPAY_CONFIG');

?$data=array(

"_input_charset"=>$config['input_charset'],//Format pengekodan

"logistics_fee"=>"0.00",//Logistics fee

"logistics_payment"=>"SELLER_PAY", //Kaedah pembayaran Logistik SELLER_PAY (penjual menanggung barang), BUYER_PAY (pembeli menanggung barang)

"logistics_type"=>"EXPRESS",//Logistic type EXPRESS (express), POST (surface mail), EMS (EMS)

"notify_url"=>$config['notify_url'],//Pautan untuk menerima pemberitahuan status pembayaran secara tidak segerak

"out_trade_no"=>$order['out_trade_no'],//Nombor pesanan

"partner"=>$config['partner'],//Partner diperoleh daripada Pusat Peribadi Versi Merchant Alipay

"payment_type"=>"1",//Jenis pembayaran sepadan dengan parameter payment_type dalam permintaan dan dikembalikan seperti sedia ada. Hanya tetapkan kepada 1

"price"=>$order['price'],//Unit harga pesanan ialah yuan

//"price"=>0.01,////Pelarasan harga digunakan untuk ujian

"kuantiti"=>"1",//harga dan kuantiti boleh menggantikan jumlah_yuran. Iaitu, jika jumlah_bayaran wujud, harga dan kuantiti tidak boleh wujud jika harga dan kuantiti wujud, jumlah_bayaran tidak boleh wujud. (Saya tidak faham; okey; abaikan sahaja parameter ini)

"receive_address"=>'1',//Alamat penerima dikreditkan serta-merta, abaikan sahaja parameter ini

"receive_mobile"=>'1',//Abaikan sahaja kaedah pembayaran segera nombor telefon mudah alih penerima

"receive_name"=>'1',//Abaikan sahaja kaedah pembayaran segera nama penerima

"receive_zip"=>'1',//Anda boleh mengabaikan kaedah ketibaan segera kod pos penerima

"return_url"=>$config['return_url'], //Laluan halaman pemberitahuan penyegerakan lompat halaman Selepas Alipay memproses permintaan, halaman semasa secara automatik melompat ke laluan http halaman yang ditentukan dalam tapak web pedagang.

"seller_email"=>$config['seller_email'],//e-mel diperoleh daripada Pusat Peribadi Versi Merchant Alipay

"service"=>"create_direct_pay_by_user", //Nama antara muka ditetapkan untuk create_direct_pay_by_user

"show_url"=>$config['show_url'], //URL paparan produk, hiperpautan untuk paparan produk pada halaman pembayaran.

"subject"=>$order['subject']//Nama produk, tajuk produk/tajuk transaksi/tajuk pesanan/kata kunci pesanan, dsb.

);

?$alipay=newAlipaySubmit($config);

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

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

echo$go_pay;

?}

Salin kod

Salin kod

Walau bagaimanapun, apabila saya meletakkan PHPMailer dalam direktori Vendor, ia berjalan dengan baik pada mesin ini Baru-baru ini, apabila saya memuat naik program ke pelayan, ia secara langsung menggesa Kelas "PHPMailer" tidak ditemui dan kemudian menjalankannya pada mesin ini sekali lagi, dan ia adalah. masih betul! Seperti yang anda boleh tahu dari blog sebelum ini, saya menggunakan vendor('PHPMailer.class#PHPMailer');

Barisan kod ini memperkenalkan PHPMailer. Memandangkan ia menggesa bahawa kelas PHPMailer tidak dapat ditemui, ini bermakna ia belum diperkenalkan dengan betul. kenapa ni?

Saya melihat sepintas lalu pada kod sumber kaedah vendor(), dan mendapati bahawa kaedah vendor() sebenarnya memasang parameter kaedah import() dan kemudian menyerahkannya kepada kaedah import() untuk diproses. Melihat pada kod sumber kaedah import(), kami mendapati bahawa dalam kaedah import(), analisis parameter masuk di atas sebenarnya untuk menggantikan ’.’ dengan ’/’ dan ’#&rsquo ; dengan’.’, baseurl ditambah secara automatik oleh kaedah vendor(), menunjuk ke direktori Vendor. Jadi parameter dalam kaedah vendor() di atas akhirnya dihuraikan ke dalam direktori berikut:

?Library/Vendor/PHPMailer/class.PHPMailer.php

Alamat direktori sebenar fail kemasukan PHPMailer ialah:

?Library/Vendor/phpmailer/class.phpmailer.php

Kandungannya sama! Walau bagaimanapun, saya menggunakan pelayan Linux, jadi kes itu dibezakan dengan ketat, jadi sudah tentu saya tidak boleh berjaya mengimport kelas ini. Penyelesaiannya ialah memperkenalkan vendor() dan menukarnya kepada:

vendor(‘phpmailer.class#phpmailer’)

Di samping itu, anda harus memberi perhatian kepada satu perkara apabila menggunakan PHPMailer Jika PHPMailer menggunakan SMTP untuk menghantar e-mel, PHP perlu menyokong fsockopen, jadi kami perlu mengubah suai disable_functions dalam php.ini untuk memadam fscokopen, jika tidak, ralat berjalan akan berlaku:

?fsockopen()telah dilumpuhkan

Ia boleh diperolehi melalui atribut ErrorInfo PHPMailer!

Atas ialah kandungan terperinci Cara mengimport perpustakaan pihak ketiga dalam ThinkPHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Tutorial PHP
1502
276
Bagaimana untuk menjalankan projek thinkphp Bagaimana untuk menjalankan projek thinkphp Apr 09, 2024 pm 05:33 PM

Untuk menjalankan projek ThinkPHP, anda perlu: memasang Komposer untuk mencipta projek, masukkan direktori projek dan laksanakan php bin/console serve;

Terdapat beberapa versi thinkphp Terdapat beberapa versi thinkphp Apr 09, 2024 pm 06:09 PM

ThinkPHP mempunyai berbilang versi yang direka untuk versi PHP yang berbeza. Versi utama termasuk 3.2, 5.0, 5.1 dan 6.0, manakala versi kecil digunakan untuk membetulkan pepijat dan menyediakan ciri baharu. Versi stabil terkini ialah ThinkPHP 6.0.16. Apabila memilih versi, pertimbangkan versi PHP, keperluan ciri dan sokongan komuniti. Adalah disyorkan untuk menggunakan versi stabil terkini untuk prestasi dan sokongan terbaik.

Bagaimana untuk menjalankan thinkphp Bagaimana untuk menjalankan thinkphp Apr 09, 2024 pm 05:39 PM

Langkah-langkah untuk menjalankan ThinkPHP Framework secara setempat: Muat turun dan nyahzip ThinkPHP Framework ke direktori tempatan. Buat hos maya (pilihan) yang menunjuk ke direktori akar ThinkPHP. Konfigurasikan parameter sambungan pangkalan data. Mulakan pelayan web. Mulakan aplikasi ThinkPHP. Akses URL aplikasi ThinkPHP dan jalankannya.

Mana yang lebih baik, laravel atau thinkphp? Mana yang lebih baik, laravel atau thinkphp? Apr 09, 2024 pm 03:18 PM

Perbandingan prestasi rangka kerja Laravel dan ThinkPHP: ThinkPHP umumnya berprestasi lebih baik daripada Laravel, memfokuskan pada pengoptimuman dan caching. Laravel berfungsi dengan baik, tetapi untuk aplikasi yang kompleks, ThinkPHP mungkin lebih sesuai.

Bagaimana untuk memasang thinkphp Bagaimana untuk memasang thinkphp Apr 09, 2024 pm 05:42 PM

Langkah pemasangan ThinkPHP: Sediakan persekitaran PHP, Komposer dan MySQL. Buat projek menggunakan Komposer. Pasang rangka kerja dan kebergantungan ThinkPHP. Konfigurasikan sambungan pangkalan data. Hasilkan kod aplikasi. Lancarkan aplikasi dan lawati http://localhost:8000.

Bagaimanakah prestasi thinkphp? Bagaimanakah prestasi thinkphp? Apr 09, 2024 pm 05:24 PM

ThinkPHP ialah rangka kerja PHP berprestasi tinggi dengan kelebihan seperti mekanisme caching, pengoptimuman kod, pemprosesan selari dan pengoptimuman pangkalan data. Ujian prestasi rasmi menunjukkan bahawa ia boleh mengendalikan lebih daripada 10,000 permintaan sesaat, dan digunakan secara meluas dalam tapak web dan sistem perusahaan berskala besar seperti JD.com dan Ctrip dalam aplikasi praktikal.

Cadangan pembangunan: Cara menggunakan rangka kerja ThinkPHP untuk pembangunan API Cadangan pembangunan: Cara menggunakan rangka kerja ThinkPHP untuk pembangunan API Nov 22, 2023 pm 05:18 PM

Cadangan pembangunan: Cara menggunakan rangka kerja ThinkPHP untuk pembangunan API Dengan pembangunan berterusan Internet, kepentingan API (Antara Muka Pengaturcaraan Aplikasi) telah menjadi semakin menonjol. API ialah jambatan untuk komunikasi antara aplikasi yang berbeza Ia boleh merealisasikan perkongsian data, panggilan fungsi dan operasi lain, dan menyediakan pembangun kaedah pembangunan yang agak mudah dan pantas. Sebagai rangka kerja pembangunan PHP yang sangat baik, rangka kerja ThinkPHP adalah cekap, berskala dan mudah digunakan.

Cadangan pembangunan: Cara menggunakan rangka kerja ThinkPHP untuk melaksanakan tugas tak segerak Cadangan pembangunan: Cara menggunakan rangka kerja ThinkPHP untuk melaksanakan tugas tak segerak Nov 22, 2023 pm 12:01 PM

"Cadangan Pembangunan: Cara Menggunakan Rangka Kerja ThinkPHP untuk Melaksanakan Tugas Asynchronous" Dengan perkembangan pesat teknologi Internet, aplikasi Web mempunyai keperluan yang semakin tinggi untuk mengendalikan sejumlah besar permintaan serentak dan logik perniagaan yang kompleks. Untuk meningkatkan prestasi sistem dan pengalaman pengguna, pembangun sering mempertimbangkan untuk menggunakan tugas tak segerak untuk melaksanakan beberapa operasi yang memakan masa, seperti menghantar e-mel, memproses muat naik fail, menjana laporan, dsb. Dalam bidang PHP, rangka kerja ThinkPHP, sebagai rangka kerja pembangunan yang popular, menyediakan beberapa cara mudah untuk melaksanakan tugas tak segerak.

See all articles