Rumah >pembangunan bahagian belakang >tutorial php >Symfony 3 ClassNotFoundException Selepas Penciptaan Bundle: Bagaimana untuk Membetulkan Ralat \'PaulArtBundle\'?
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!