Rumah >pembangunan bahagian belakang >tutorial php >Symfony 3.3 ClassNotFoundException Selepas Penciptaan Bundle: Bagaimana untuk Membetulkan Isu Autoload?

Symfony 3.3 ClassNotFoundException Selepas Penciptaan Bundle: Bagaimana untuk Membetulkan Isu Autoload?

Linda Hamilton
Linda Hamiltonasal
2024-11-24 17:57:12967semak imbas

Symfony 3.3 ClassNotFoundException After Bundle Creation: How to Fix the Autoload Issue?

Symfony 3: Menyelesaikan masalah ClassNotFoundException selepas Penciptaan Bundle

Mencipta himpunan baharu dalam Symfony 3.3 kadangkala boleh membawa kepada ralat "ClassNotFoundException". Isu membingungkan ini berlaku selepas melakukan langkah berikut:

  1. Jana projek baharu menggunakan "symfony new ArtProject"
  2. Buat berkas baharu menggunakan "php app/console generate:bundle (Paul /ArtBundle, yml, src/)"

Apabila cuba untuk akses "127.0.0.1:8000," mesej ralat dipaparkan.

Memahami Isu

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.

Penyelesaian

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.

Latar Belakang

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.

Kesimpulan

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!

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