编辑:请忽略这个问题。这是我的一个失误:我正在查看一个类(OpicControllerInsurance),并假设它是另一个类(opiccontrollerinsurers)。你必须从这个问题中学到的唯一一件事是,你需要仔细检查你的输入/输出,即使你认为这是毫无疑问的。
我有一个继承自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怎么可能呢?这是一个令人沮丧的问题,似乎违反了基本的编程规则(这通常意味着我只是不太了解规则)。
虚警。
当然;Oop不是这样工作的。我被Joomla MVC迷住了,它为每个模型都有单数和复数名称(至少在这个配置中)。在调试器中,我没有发现opiccontrollerinsurers和OpicControllerInsurance之间的区别。