Perusahaan saya telah menciptakan kerangka kerja PHP modular selama bertahun-tahun, dimulai jauh sebelum PHP 5.3 menambahkan ruang nama. Baru-baru ini, kami memutuskan untuk mulai menggunakan namespace dalam kode baru perpustakaan kami, dan kami berniat untuk akhirnya mengganti kode lama. Namun, kami memiliki beberapa masalah yang kami coba selesaikan untuk menentukan apakah menambahkan ruang nama ke basis kode pre-v5.3 bukan ide yang bagus:
- Bisakah saya namespace kelas tetapi juga mengimpor (menggunakan) namespace global sehingga semua kelas global tidak perlu
\
awalan? - Jika kita menamai kelas yang ada di pustaka kita, bagaimana kita bisa mencegah semua proyek yang ada dari kerusakan segera setelah kerangka kerja ditingkatkan? Sebagai contoh, bisa perubahan perpustakaan nama kelas
ThemeEngine
untuk\module\theme\ThemeEngine
, tetapi website yang ada memanggilThemeEngine
tanpa setiap modifikasi kode? Jika demikian, seperti apa kode itu?