Класс расширяет класс A, но имеет родителя класса B ... как? - PullRequest
1 голос
/ 09 декабря 2011

Редактировать: Пожалуйста, не обращайте внимания на этот вопрос. Это было глупо с моей стороны: я смотрел на один класс (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? Это одна из тех неприятных проблем, которая, кажется, не поддается базовым правилам программирования (что обычно означает, что я просто не очень хорошо понимаю правила).

1 Ответ

0 голосов
/ 09 декабря 2011

Ложная тревога.

Конечно; упс не работает таким образом. Я был пойман Joomla MVC, у которого есть имена единственного и множественного числа для каждой модели (по крайней мере, в этой конфигурации). Я не заметил разницу между OpicControllerInsurances и OpicControllerInsurance в отладчике.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...