Mencipta himpunan baharu dalam Symfony 3.3 kadangkala boleh membawa kepada ralat "ClassNotFoundException". Isu membingungkan ini berlaku selepas melakukan langkah berikut:
Apabila cuba untuk akses "127.0.0.1:8000," mesej ralat dipaparkan.
Ralat berlaku kerana arahan "generate:bundle" gagal mengemas kini bahagian "autoload" "composer.json" apabila ruang nama baharu diperkenalkan. Ini mengakibatkan kegagalan untuk memuatkan kelas himpunan yang dibuat dengan betul.
Untuk menyelesaikan isu, edit "composer.json" secara manual dan tambah baris berikut:
"psr-4": { "AppBundle\": "src/AppBundle", "Paul\": "src/Paul" }
Seterusnya, jalankan "composer dumpautoload" dan mulakan semula pelayan.
Dalam Symfony 3.2, konfigurasi "autoload" secara automatik mencari semua kelas PHP dalam direktori "src/". Walau bagaimanapun, dalam Symfony 3.3, konfigurasi ini telah berubah untuk menyertakan ruang nama secara eksplisit. Akibatnya, arahan "generate:bundle" tidak lagi mengemas kini bahagian "autoload", yang membawa kepada ralat kelas tidak ditemui.
Isu ini boleh diselesaikan dengan mudah dengan mengemas kini secara manual fail "composer.json" dan menjalankan "composer dumpautoload." Ingat bahawa isu ini disebabkan oleh perubahan dalam konfigurasi "autoload" dalam Symfony 3.3.
Atas ialah kandungan terperinci Symfony 3.3 ClassNotFoundException Selepas Penciptaan Bundle: Bagaimana untuk Membetulkan Isu Autoload?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!