нет. все совсем по другому.
почитайте о наследовании классов, магических методах __get() , __set(). и паттерн Registry
если в двух словах
создается объект реестра
$registry = new Registry();
далее создаются объекты разных классов и добавляются в реесер
$loader = new Loader($registry);
$registry->set('load', $loader);
$registry->set('request', new Request());
if ($config->get('db_autostart')) {
$registry->set('db', new DB($config->get('db_type'), $config->get('db_hostname'), $config->get('db_username'), $config->get('db_password'), $config->get('db_database'), $config->get('db_port')));
} и т.д
при запуске модели или контроллера им передается объект реестра.
и когда вы обращаетесь к несуществующим методам, допустим в модели
$this->db->..........
срабатывает магических метод __get()
public function __get($key) {
return $this->registry->get($key);
}
и возвращает объект нужного класса. в данном случае DB