Dalam thinkphp, kaedah import digunakan untuk merangkumkan import perpustakaan kelas Ia boleh memberikan sokongan import untuk perpustakaan kelas projek, perpustakaan kelas lanjutan dan perpustakaan kelas pihak ketiga Sintaksnya ialah "import('class nama perpustakaan', 'Laluan mula', 'Sufiks perpustakaan kelas')"; Kaedah ini mempunyai kaedah vendor alias, yang digunakan khas untuk mengimport perpustakaan kelas pihak ketiga.
Persekitaran pengendalian artikel ini: sistem Windows 10, ThinkPHP versi 3.2, komputer Dell G3.
Kaedah import ialah pelaksanaan enkapsulasi rangka kerja ThinkPHP untuk import perpustakaan kelas, terutamanya untuk sokongan import perpustakaan kelas projek, perpustakaan kelas lanjutan dan perpustakaan kelas pihak ketiga , versi awal kaedah import boleh mengimport direktori dan import kad bebas seperti kaedah import Java Kemudian, dengan mengambil kira isu prestasi, ia terus dipertingkatkan dan dipermudahkan dalam kemas kini versi berikutnya, jadi penggunaan semasa adalah secara relatif. ringkas dan jelas. Format panggilan:
import('类库名', '起始路径', '类库后缀')
Kaedah imprt mempunyai kaedah vendor alias, yang digunakan khusus untuk mengimport perpustakaan kelas pihak ketiga. Perbezaannya ialah laluan permulaan dan nilai lalai akhiran pustaka kelas berbeza.
Mari kita analisa penggunaan khusus:
1 Import pustaka kelas asas sistem
Pustaka kelas asas sistem sebenarnya merujuk kepada perpustakaan kelas Think. Direktori tempat letak pakej merujuk kepada direktori Lib teras rangka kerja Kaedah import boleh digunakan untuk mengimport perpustakaan kelas asas sistem Contohnya:
import('Think.Util.Array');
bermaksud mengimport Lib/Util/. Kelas Array.class.php di bawah direktori sistem adalah setara dengan cara kami menggunakan
require THINK_PATH.'Lib/Util/Array.class.php';
untuk menyokong direktori berbilang peringkat, contohnya:
import('Think.Util.U1.ClassA'); import('Think.Util.U1.A2.ClassB');
Selepas mengimport perpustakaan kelas melalui kaedah import, perpustakaan kelas boleh dijadikan instantiated Dikendalikan.
2. Import perpustakaan kelas sambungan
Pustaka kelas sambungan terletak di bawah direktori Extend/Library Ini ialah direktori perpustakaan kelas sambungan awam. Perpustakaan kelas sambungan yang disokong pada masa ini Pakej hanya pakej ORG dan Com.
import('ORG.Util.Image'); import('Com.Sina.OAuth');
akan mengimport perpustakaan kelas pihak ketiga di bawah direktori sambungan (kelas Extend/Library/ORG/Util/Image.class.php dan Extend/Library/Com/Sina/OAuth.class. php) Fail perpustakaan), pakej perpustakaan kelas pihak ketiga hanya boleh menyokong ORG dan Com Subdirektori berikut boleh ditambah sesuka hati.
3 Import perpustakaan kelas aplikasi projek
Jika laluan import permulaan tidak ditentukan, pakej perpustakaan kelas selain Think, ORG dan Com akan dianggap diimport. Pustaka kelas aplikasi projek, contohnya:
import("MyApp.Action.UserAction"); import("MyApp.Model.InfoModel");
bermaksud mengimport fail perpustakaan kelas UserAction dan InfoModel projek MyApp Memandangkan kami biasanya mengimport perpustakaan kelas di bawah projek semasa, ia boleh disingkatkan sebagai:
Simbolimport("@.Action.UserAction"); import("@.Model.InfoModel");
@ bermaksud mengimport perpustakaan kelas di bawah projek semasa Kaedah ini juga memudahkan pemindahan kod perpustakaan kelas projek ke tahap tertentu Jika nama projek berubah atau dipindahkan ke projek lain. kaedah penulisan tidak perlu diubah .
4. Import fail pustaka kelas bukan standard
Fail pustaka kelas bukan standard yang disebut di sini terutamanya merujuk kepada yang terletak di lokasi khas atau dengan bukan.class .php akhiran Fail perpustakaan kelas. Mengimport perpustakaan kelas asas, perpustakaan kelas sambungan dan perpustakaan kelas projek semuanya berdasarkan direktori spesifikasi rangka kerja Jika kita perlu mengimport fail MyClass.php di bawah direktori Biasa projek, kita boleh menggunakan:
<🎜. >import('Common.MyClass',APP_PATH,'.php');
import('MyClass',APP_PATH.'Common','.php');
import("RBAC.AccessDecisionManager",dirname(__FILE__),".php");
import("ORG.User.Info");
import("ORG.User#Info");
5. Import perpustakaan kelas pihak ketiga
Pustaka kelas asas ThinkPHP semuanya diakhiri dengan .class.php Ini ialah konvensyen terbina dalam sistem. Sudah tentu Ia juga boleh dikawal melalui parameter import Untuk memudahkan untuk memperkenalkan perpustakaan kelas daripada rangka kerja dan sistem lain, sistem ini juga menyediakan vendor alias untuk kaedah import, yang digunakan khas untuk mengimport kelas pihak ketiga. perpustakaan, dan direktori permulaan lalai dan fail kelas Akhiran adalah berbeza. Pustaka kelas pihak ketiga terletak dalam direktori Vendor di bawah direktori sambungan sistem Contohnya, kami meletakkan FilterDir.php Zend di bawah direktori Vendor Pada masa ini, laluan fail Dir ialah VendorZendFilterDir.php kaedah vendor untuk mengimport, kita hanya perlu menggunakan:Vendor('Zend.Filter.Dir');
Vendor('Zend.Filter.Dir',dirname(__FILE__),'.class.php');
6 Alias import
Selain kaedah import ruang nama, kaedah import juga boleh menyokong import alias Untuk menggunakan import alias, anda mesti terlebih dahulu menentukan alias.php di bawah direktori konfigurasi projek untuk menentukan perpustakaan kelas alias yang perlu digunakan dalam projek , contohnya:return array( 'rbac' =>LIB_PATH.'Common/Rbac.class.php', 'page' =>LIB_PATH.'Common/Page.class.php', );
import("rbac"); import("page");
Anda boleh menentukan alias untuk beberapa perpustakaan kelas yang diperlukan, supaya ia boleh dimuatkan secara automatik dengan cepat tanpa menentukan laluan pemuatan automatik.
Secara amnya, disebabkan kaedah pemuatan automatik yang digunakan dalam rangka kerja, pengguna tidak perlu mengimport fail perpustakaan kelas secara manual dalam kebanyakan kes Ia biasanya digunakan untuk mengimport perpustakaan kelas sambungan dan perpustakaan kelas pihak ketiga. Selain itu, dengan definisi definisi alias dan laluan pemuatan automatik, ia juga boleh mengurangkan keperluan pengguna untuk mengimport perpustakaan kelas secara manual.
Pembelajaran yang disyorkan: "Tutorial Video PHP"
Atas ialah kandungan terperinci Apakah kegunaan import dalam thinkphp. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!