Редактировать: Пожалуйста, не обращайте внимания на этот вопрос. Это было глупо с моей стороны: я смотрел на один класс (OpicControllerInsurance) и предполагал, что это был другой (OpicControllerInsurances). Из этого вопроса вы должны выучить только то, что вам нужно перепроверить ваш ввод / вывод , даже если вы думаете, что это вне вопроса .
У меня есть класс, который наследуется от JControllerAdmin (это проект joomla, но он не выглядит как проблема, специфичная для joomla):
jimport('joomla.application.component.controlleradmin');
/**
* Insurance Type list controller class.
*
* @package Joomla.Administrator
* @subpackage com_opic
* @since 1.6
*/
class OpicControllerInsurances extends JControllerAdmin
{
...
А вот где создается экземпляр класса
// Instantiate the class.
if (class_exists($class)) {
// $class == 'OpicControllerInsurance', $config == ''
$instance = new $class($config);
$test_class_name = get_class($instance);
// $test_class_name == OpicControllerInsurance
$test_parent_class_name = get_parent_class($instance);
// $test_parent_class_name == JControllerForm
}
Теперь, если OpicControllerInsurances расширяет JControllerAdmin, как возможно, что его родительский класс - JControllerForm? Это одна из тех неприятных проблем, которая, кажется, не поддается базовым правилам программирования (что обычно означает, что я просто не очень хорошо понимаю правила).