Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Analisis ringkas mengenai pemuatan automatik fail berkaitan mengikut kelas dalam PHP

Analisis ringkas mengenai pemuatan automatik fail berkaitan mengikut kelas dalam PHP

藏色散人
藏色散人ke hadapan
2022-12-29 16:37:153972semak imbas

Artikel ini membawakan anda pengetahuan yang berkaitan tentang PHP, yang terutamanya memperkenalkan kandungan pemuatan kelas automatik yang berkaitan Mari analisa fail yang berkaitan dengan pemuatan kelas automatik dalam PHP.

Analisis ringkas mengenai pemuatan automatik fail berkaitan mengikut kelas dalam PHP

Analisis fail yang berkaitan dengan pemuatan kelas automatik dalam PHP

Pemuatan kelas automatik

Komposer ialah PHP Alat pengurusan pakej yang boleh digunakan untuk mengurus perpustakaan pihak ketiga yang bergantung pada aplikasi. Komposer boleh memuatkan kebergantungan ini melalui ciri autoloading.

Komposer menggunakan mekanisme autoloading yang menggunakan fungsi PHP khas untuk memuatkan kelas apabila diperlukan. Fungsi ini dipanggil fungsi autoloader dan dipanggil sebelum skrip PHP mula dilaksanakan.

Apabila penghurai PHP menemui kelas yang tidak ditentukan, ia memanggil fungsi autoloader. Fungsi autoloader menerima nama kelas sebagai parameter dan menggunakan nama kelas ini untuk menentukan fail yang harus dimuatkan. Contohnya, jika nama kelas ialah Foo\Bar, fungsi autoloader mungkin cuba memuatkan fail /path/to/project/src/Foo/Bar.php.

Komposer sendiri mempunyai beberapa fungsi autoload terbina dalam yang boleh digunakan untuk memuatkan perpustakaan yang bergantung pada aplikasi. Sebagai contoh, Komposer boleh memuatkan kelas menggunakan spesifikasi pemuatan auto PSR-4. Spesifikasi ini menggunakan ruang nama dan struktur fail untuk menentukan fail yang perlu dimuatkan. Untuk menggunakan autoloading PSR-4, anda perlu menentukan awalan ruang nama dan laluan fail dalam fail composer.json aplikasi

Apabila menggunakannya, anda biasanya hanya perlu memasukkan fail masukan autoload kelas berikut untuk melengkapkan

require 'vendor/autoload.php';

Spesifikasi pemuatan automatik kelas PSR-4

PSR-4 (Syor Standard PHP 4) ialah sejenis spesifikasi pemuatan automatik PHP. Ia menyediakan cara standard untuk memuatkan kelas PHP menggunakan ruang nama dan struktur fail.

Dalam spesifikasi PSR-4, setiap ruang nama mempunyai folder yang sepadan. Contohnya, jika anda mempunyai ruang nama Foo\Bar, anda boleh meletakkan fail kelas yang sepadan dalam folder /path/to/project/src/Foo/Bar.

Dalam spesifikasi PSR-4, nama kelas biasanya sama dengan nama fail. Contohnya, jika anda mempunyai ruang nama yang dipanggil Foo\Bar dan kelas yang dipanggil Baz, anda boleh meletakkan takrifan sedemikian dalam fail /path/to/project/src/Foo/Bar/Baz.php.

Apabila menggunakan spesifikasi PSR-4, anda perlu menentukan awalan ruang nama dan laluan fail dalam fail composer.json aplikasi anda. Komposer menggunakan maklumat ini untuk menjana kod autoloading dan menulisnya ke dalam fail autoload_psr4.php. Apabila aplikasi anda berjalan, Komposer memuatkan fail ini dan menggunakan fungsi autoloader untuk memuatkan kelas. [Pembelajaran yang disyorkan: Tutorial video PHP]

Beberapa analisis fail


vendor/autoload.php

Fail kemasukan terus mengandungi fail autoload_real.php dan memanggil kaedah berikut untuk mendaftarkan semua ruang nama, kelas, fail, dsb.

ComposerAutoloaderInitxxxxxx::getLoader()

vendor/composer/autoload_classmap.php

Mengembalikan tatasusunan yang mengandungi semua nama kelas tunggal → autoload fail untuk fail kelas

vendor/composer/autoload_files.php

Mengembalikan tatasusunan yang mengandungi semua fail PHP yang perlu dimuatkan secara automatik, biasanya beberapa fungsi global, dsb.

vendor/composer/autoload_namespaces.php

Mengembalikan tatasusunan, yang mengandungi perhubungan pemetaan ruang nama autoloading.

vendor/composer/autoload_psr4.php

Mengembalikan tatasusunan yang mengandungi senarai ruang nama → laluan fail yang mematuhi spesifikasi autoload PSR-4.

Atas ialah kandungan terperinci Analisis ringkas mengenai pemuatan automatik fail berkaitan mengikut kelas dalam PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:learnku.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam