Đây có lẽ là một câu hỏi thực sự ngu ngốc nhưng tôi không thể tìm thấy câu trả lời và thử nghiệm và lỗi đã thất bại.
Tôi đang phát triển một thành phần cho Joomla 3.x và tôi có một số lớp mà tôi muốn sử dụng. Tôi đang cố gắng thực hiện JLoader::registerPrefix()phương pháp. Hãy nói rằng tôi có hai lớp Helpervà NotHelpful. Helperlà một lớp tĩnh được lưu trữ tại:
JPATH_LIBRARIES. '/foo/bar/Helper.php'
và NotHelpfullà một lớp không tĩnh được lưu trữ tại:
JPATH_LIBRARIES. '/foo/baz/NotHelpful.php'
Nếu tôi muốn đăng ký những hiểu biết này, tôi sẽ gọi:
JLoader::registerPrefix('Foo', JPATH_LIBRARIES . '/foo');
mà tôi đang làm từ điểm vào ứng dụng.
Sau đó, để gọi Helper, tôi chỉ cần sử dụng FooBarHelper::method1();hoặc khởi tạo một cái mới NotHelpfulsẽ là$Class = new FooBazNotHelpful();
Điều không rõ ràng với tôi là tên lớp thực tế bên trong Helper.php hoặc NotHelpful.php nên là gì. Nó phải được FooBarHelper, Helper, BarHelper, hay cái gì khác hoàn toàn?
Khi tôi cố gắng gọi, FooBarHelper::method1();tôi nhận được lỗi cho dù lớp của tôi có tên là gì:
Lỗi nghiêm trọng của PHP: Không tìm thấy lớp 'FooBarHelper' trong
Tôi rõ ràng đang làm ít nhất một điều sai. Bất cứ ai có thể cho tôi biết một hoặc nhiều trong số họ là gì?
class Helpful { ...hayclass FooBazNotHelpful { ...hay cái gì khác?