Rumah >pembangunan bahagian belakang >tutorial php >Symfony 3 ClassNotFoundException Selepas Penciptaan Bundle: Bagaimana untuk Membetulkan Ralat \'PaulArtBundle\'?

Symfony 3 ClassNotFoundException Selepas Penciptaan Bundle: Bagaimana untuk Membetulkan Ralat \'PaulArtBundle\'?

DDD
DDDasal
2024-11-30 12:28:11182semak imbas

Symfony 3 ClassNotFoundException After Bundle Creation: How to Fix the

Symfony3 ClassNotFoundException Selepas Penciptaan Bundle: Punca Punca dan Penyelesaian

Apabila membuat bundle baharu dalam Symfony 3.3, pengguna mungkin menghadapi "Class"NotFoundException ralat semasa menjalankan pelayan tempatan. Pengecualian ini timbul apabila autoloader gagal memuatkan kelas kerana ketiadaannya dalam peta kelas.

Mesej ralat menunjukkan bahawa Symfony cuba memuatkan kelas "PaulArtBundle" daripada ruang nama "PaulArtBundle." Walau bagaimanapun, autoloader tidak mengandungi ruang nama atau definisi kelas ini.

Penyelesaian:

Untuk menyelesaikan isu ini, pengguna mesti mengemas kini fail "composer.json" secara manual dan tambahkan entri berikut pada bahagian "autoload":

"psr-4": {
    "AppBundle\": "src/AppBundle",
    "Paul\": "src/Paul"
}

Ini mentakrifkan ruang nama "Paul" dan peta ke direktori "src/Paul", di mana kelas bundle berada.

Selepas mengemas kini fail "composer.json", laksanakan arahan berikut untuk menjana autoloader dan mulakan semula pelayan:

composer dumpautoload

Mulakan semula pelayan setempat (jika perlu). Ini sepatutnya membetulkan ralat "ClassNotFoundException" dan membenarkan himpunan itu dikenali dengan betul.

Pertimbangan Tambahan:

Isu ini timbul disebabkan oleh perubahan yang diperkenalkan dalam Symfony 3.2, di mana peraturan pemuatan auto PSR-4 telah diubah suai untuk mengecualikan ruang nama kosong. Perubahan ini memerlukan pemetaan ruang nama yang eksplisit dalam fail "composer.json" semasa membuat himpunan baharu.

Symfony Flex, alat yang lebih baharu untuk mengurus aplikasi Symfony, boleh menangani isu ini pada masa hadapan dengan mengautomasikan proses menambah pemetaan ruang nama yang diperlukan.

Atas ialah kandungan terperinci Symfony 3 ClassNotFoundException Selepas Penciptaan Bundle: Bagaimana untuk Membetulkan Ralat \'PaulArtBundle\'?. 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
Artikel sebelumnya:Ciri php baharu yang diabaikanArtikel seterusnya:Ciri php baharu yang diabaikan