Rumah > pembangunan bahagian belakang > tutorial php > Mengapakah Komposer mengeluarkan amaran penamatan autoloading PSR-4 tentang ketidakpadanan laluan kelas?

Mengapakah Komposer mengeluarkan amaran penamatan autoloading PSR-4 tentang ketidakpadanan laluan kelas?

Patricia Arquette
Lepaskan: 2024-11-29 00:58:10
asal
457 orang telah melayarinya

Why is Composer issuing PSR-4 autoloading deprecation warnings about class path mismatches?

Pemberhentian Autoloading PSR-4 Komposer: Tidak Padan Laluan Kelas

Apabila melaksanakan arahan komposer seperti kemas kini dan pemasangan, anda mungkin menghadapi notis penamatan mengenai kelas yang tidak mematuhi standard pemuatan auto PSR-4 ini biasanya berlaku apabila terdapat percanggahan antara kelas nama yang layak sepenuhnya dan laluan fail yang sepadan.

Kes Laluan

Punca yang paling biasa ialah ketidakpadanan dalam kes komponen nama laluan dan nama kelas. Contohnya, "foo/bar/Baz.php" tidak sepadan dengan "FooBarBaz." Pastikan kes bagi setiap komponen nama laluan sepadan dengan kes ruang nama yang diwakilinya, seperti "Foo/Bar/Baz.php" untuk "FooBarBaz". Kadangkala, kelas anda (atau ruang nama) mungkin dinamakan FooBar, tetapi laluan cakeranya ialah "foo-bar". Keadaan ini juga mencetuskan amaran. Anda perlu menamakan semula fail atau kelas (atau ruang nama).

Selalunya menukar laluan atau fail adalah lebih mudah daripada menukar nama kelas atau ruang nama kerana menukar nama kelas atau ruang nama memerlukan anda memfaktorkan semula kod anda agar sepadan dengan nama baharu, manakala menukar laluan tidak memerlukan pemfaktoran semula apa-apa kandungan.

Ruang nama bersarang dan pengisytiharan yang tiada

Andaikan anda mempunyai:

dan Dummy kelas ditakrifkan dalam src/Buzz:

Kod di atas berfungsi dengan baik tetapi akan memberikan amaran serupa dengan situasi lain. Pendekatan yang betul hendaklah:

"autoload": {
    "psr-4": {
        "Fizz\Buzz\": "src/"
    }
}
Salin selepas log masuk

Anda perlu membuat perubahan bukan sahaja pada kelas yang terjejas, tetapi juga pada mana-mana fail lain yang menggunakan atau mengimport kelas tersebut (contohnya, kini mengisytiharkan penggunaan FizzBuzzBuzzDummy;) .

Atas ialah kandungan terperinci Mengapakah Komposer mengeluarkan amaran penamatan autoloading PSR-4 tentang ketidakpadanan laluan kelas?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan