Ini mungkin pertanyaan yang sangat bodoh tetapi saya tidak dapat menemukan jawaban dan percobaan dan kesalahan telah gagal.
Saya mengembangkan komponen untuk Joomla 3.x dan saya memiliki sejumlah kelas yang ingin saya gunakan. Saya mencoba menerapkan JLoader::registerPrefix()
metode ini. Katakanlah saya punya dua kelas Helper
dan NotHelpful
. Helper
adalah kelas statis yang disimpan di:
JPATH_LIBRARY. '/foo/bar/Helper.php'
dan NotHelpful
kelas non-statis disimpan di:
JPATH_LIBRARY. '/foo/baz/NotHelpful.php'
Jika saya ingin mendaftarkan pemahaman saya ini saya akan menelepon:
JLoader::registerPrefix('Foo', JPATH_LIBRARIES . '/foo');
yang saya lakukan dari titik masuk ke aplikasi.
Kemudian untuk menelepon Helper
, saya hanya akan menggunakan FooBarHelper::method1();
atau untuk memulai NotHelpful
akan menjadi baru$Class = new FooBazNotHelpful();
Yang tidak jelas bagi saya adalah apa seharusnya nama kelas di dalam Helper.php atau NotHelpful.php . Harus itu FooBarHelper
, Helper
, BarHelper
, atau sesuatu yang lain sama sekali?
Ketika saya mencoba menelepon FooBarHelper::method1();
saya mendapatkan kesalahan tidak peduli apa nama kelas saya tampaknya:
Kesalahan PHP Fatal: Kelas 'FooBarHelper' tidak ditemukan di
Saya jelas melakukan setidaknya satu hal yang salah. Adakah yang bisa memberi tahu saya apa satu atau lebih dari mereka?
class Helpful { ...
atauclass FooBazNotHelpful { ...
atau sesuatu yang lain?