php类函数不存在于类中

时间:2017-03-12 04:13:48

标签: php

我是php的新手。但我对oo语言有很好的理解。我在OpenCart应用程序(https://www.opencart.com/)中遇到这些php代码。

class ControllerCustomerCustomerGroup extends Controller {
  private $error = array();

  public function index() {
      $this->load->language('customer/customer_group');

      $this->document->setTitle($this->language->get('heading_title'));

      $this->load->model('customer/customer_group');

      $this->getList();
  }

我明白$这意味着当前的对象。但是在这个类中,我没有看到加载或文档属性/函数。我知道这个类继承自Controller类。但我也没有在Controller类中看到这两个属性/函数。

以下是完整的Controller超类:

<?php
    abstract class Controller {
    protected $registry;

    public function __construct($registry) {
        $this->registry = $registry;
    }

    public function __get($key) {
        return $this->registry->get($key);
    }

    public function __set($key, $value) {
        $this->registry->set($key, $value);
    }
}

我在eclipse php编辑器中使用intellisense,它也没有看到它们。所以,我迷失了...... enter image description here

1 个答案:

答案 0 :(得分:0)

我认为你在谈论Codeigniter框架。如果您仔细查看他们的controller课程,您会找到

$this->load =& load_class('Loader', 'core');

这一行。这一行实际上加载了Loadercore类。

现在,如果您查看Loader类,您将看到加载器具有加载模型的model方法。这就是它在内部的运作方式。