Rumah  >  Artikel  >  rangka kerja php  >  Apakah kegunaan import dalam thinkphp

Apakah kegunaan import dalam thinkphp

WBOY
WBOYasal
2022-04-18 17:03:482752semak imbas

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.

Apakah kegunaan import dalam thinkphp

Persekitaran pengendalian artikel ini: sistem Windows 10, ThinkPHP versi 3.2, komputer Dell G3.

Apakah penggunaan import dalam thinkphp?

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:

Simbol
import("@.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');
Atau

import('MyClass',APP_PATH.'Common','.php');
atau anda ingin mengimport perpustakaan kelas RBAC dalam direktori semasa

import("RBAC.AccessDecisionManager",dirname(__FILE__),".php");
Terdapat satu lagi kes khas, iaitu kekhususan penamaan perpustakaan kelas. Mengikut peraturan sistem, kaedah import tidak boleh mengimport fail perpustakaan kelas dengan titik, kerana titik akan ditukar terus kepada garis miring Contohnya, jika kita mentakrifkan fail bernama User.Info.class.php, gunakan:

import("ORG.User.Info");
akan menyebabkan ralat semasa memuatkan, menyebabkan fail yang dimuatkan bukan fail ORG/User.Info.class.php, tetapi fail ORG/User/Info.class.php Dalam kes ini, Kami boleh menggunakan:

import("ORG.User#Info");
untuk mengimport.

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');
boleh mengimport perpustakaan kelas Dir.

Kaedah vendor juga boleh menyokong laluan asas dan parameter akhiran nama fail yang sama seperti kaedah import, contohnya:

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',
 );
Kemudian, anda kini boleh menggunakannya secara langsung:

import("rbac");
import("page");
untuk mengimport kelas Rbac dan Halaman kaedah import alias melarang penggunaan parameter kedua dan ketiga kaedah import , kaedah import alias lebih cekap daripada kaedah import ruang nama, tetapi kelemahannya ialah alias yang berkaitan perlu ditakrifkan terlebih dahulu.

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!

Kenyataan:
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